內連接,外連接,自然連接

          高級查詢

          l?????? 內連接

          l?????? ? 外連接

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

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

          ?

          ?

          ?

          內連接

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

          l?????? 通過 INNER JOIN 語法實現

          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 區別。。。。。。。。。

          ? UNION 的兩個結果集的并集,相同的字段。。

          ?

          ?

          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; // 相等連接

          ?

          ?

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

          ?

          ?

          外連接

          ?

          左外連接

          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?????? 主要用于在參照表上顯示 ? 上下級關系或層次關系

          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 閱讀(1680) 評論(0)  編輯  收藏 所屬分類: Oracle


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


          網站導航:
           
          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          公告

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

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 麻江县| 手游| 清镇市| 灵武市| 福泉市| 靖远县| 泰和县| 利川市| 静安区| 洛阳市| 大丰市| 正镶白旗| 扎鲁特旗| 江华| 广汉市| 景德镇市| 邹平县| 富川| 长寿区| 化德县| 靖边县| 锡林郭勒盟| 鄢陵县| 涞水县| 璧山县| 安新县| 来安县| 万山特区| 柳河县| 黄龙县| 广平县| 仙游县| 美姑县| 南开区| 承德县| 元氏县| 拉萨市| 开阳县| 临邑县| 襄垣县| 阿勒泰市|