內(nèi)連接,外連接,自然連接

          高級查詢

          l?????? 內(nèi)連接

          l?????? ? 外連接

          1. ? 左外連接
          2. ? 右外連接
          3. ? 完全外連接

          l?????? ? 自然連接

          ?

          ?

          ?

          內(nèi)連接

          l?????? 連接的多表必須有公共列 ( 相等連接 )

          l?????? 通過 INNER JOIN 語法實現(xiàn)

          l?????? 語法:

          ??? SELECT?? tab_name1.col_name, tab_name2.col_name….

          ??? FROM ?tab_name1? (INNER) JOIN? ?tab_name2

          ??? ON tab_name1.col = tab_name2.col

          ?

          還可以加 Where 。。。。。。。。。。。。。。。。。 其中 col 是兩表的公共列

          select student_1.studid,marks.studid,studname from student_1 join marks on student_1.studid=marks.studid where studname=' 李四 ';

          ?

          UNION 區(qū)別。。。。。。。。。

          ? UNION 的兩個結(jié)果集的并集,相同的字段。。

          ?

          ?

          select student_1.studid,marks.studid mkstudid,studname from student_1 join marks on student_1.studid=marks.studid;// inner join

          select student_1.studid,marks.studid mkstudid,studname from student_1 ,marks where student_1.studid=marks.studid; // 相等連接

          ?

          ?

          內(nèi)連接 (INNER JOIN) 使用比較運算符進行表間某 ( ) 列數(shù)據(jù)的比較操作,并列出這些表中與連接條件相匹配的數(shù)據(jù)行。根據(jù)所使用的比較方式不同,內(nèi)連接又分為等值連接、自然連接和不等連接三

          ?

          ?

          外連接

          ?

          左外連接

          l?????? 返回滿足連接條件的所有行,而且還會返回不滿足連接條件的連接操作符的左邊表的其他行

          l?????? 語法:

          ?????? ?SELECT?? tab_name1.col_name, tab_name2.col_name….

          ?????? FROM? tab_name1? LEFT? JOIN?? tab_name2

          ?????? ON tab_name1.col = tab_name2.col

          ?

          右外連接

          l?????? 返回滿足連接條件的所有行,而且還會返回不滿足連接條件的連接操作符的左邊表的其他行

          l?????? 語法:

          ?????? ?SELECT?? tab_name1.col_name, tab_name2.col_name….

          ?????? FROM? tab_name1? RIGHT? JOIN?? tab_name2

          ?????? ON tab_name1.col = tab_name2.col

          ?

          完全連接

          l?????? 不僅返回滿足連接條件的所有行,而且還會返回不滿足連接條件的所有行

          l?????? 語法:

          ?????? ? SELECT?? tab_name1.col_name, tab_name2.col_name….

          ?????? FROM? tab_name1? FULL? JOIN?? tab_name2

          ?????? ON tab_name1.col = tab_name2.col

          ? ?

          自然連接 ???????? ---- 自我連接

          l?????? 同一張表之間的連接查詢

          l?????? 主要用于在參照表上顯示 ? 上下級關(guān)系或?qū)哟侮P(guān)系

          l?????? 語法:

          ??? select? t1.col_name, t2.col_name

          ??? from? table1? t1? inner join? table1? t2

          ??? on? t1.col_name = t2.col_name

          ?

          ?

          posted on 2009-06-02 23:24 luofeng225 閱讀(1688) 評論(0)  編輯  收藏 所屬分類: Oracle


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導(dǎo)航

          統(tǒng)計

          公告

          我曾經(jīng)聽到這么一個故事: 一個年輕的程序員問一個老程序員(一個比較牛逼的公司的CTO) 年輕程序員: 你為什么這么牛X., 就好像沒有你不會的。老程序員: 積累的。年輕程序員: 怎么才能積累到您的程度呢。我每天都在積累。但是似乎都沒有感覺到進步。老程序員: 我從20歲開始做到了一件事情,直到今天,而且盡可能地保證不間斷。年輕程序員: 到底是什么? 老程序員: 我每天保證自己有2個小時在學(xué)習(xí)新的東西。

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術(shù)博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东乌珠穆沁旗| 安塞县| 盐池县| 淮北市| 永丰县| 行唐县| 永川市| 遵化市| 商丘市| 正安县| 潼关县| 沁源县| 霍林郭勒市| 陵川县| 鹤壁市| 错那县| 札达县| 江津市| 开平市| 红安县| 海阳市| 长岭县| 淮安市| 甘谷县| 那曲县| 邹平县| 正镶白旗| 华池县| 松潘县| 海伦市| 西宁市| 大丰市| 九龙县| 印江| 仁化县| 长阳| 秦皇岛市| 宝兴县| 凌源市| 海门市| 沛县|