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

          高級(jí)查詢

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

          l?????? ? 外連接

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

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

          ?

          ?

          ?

          內(nèi)連接

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

          l?????? 通過 INNER JOIN 語法實(shí)現(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 的兩個(gè)結(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) 使用比較運(yùn)算符進(jìn)行表間某 ( ) 列數(shù)據(jù)的比較操作,并列出這些表中與連接條件相匹配的數(shù)據(jù)行。根據(jù)所使用的比較方式不同,內(nèi)連接又分為等值連接、自然連接和不等連接三

          ?

          ?

          外連接

          ?

          左外連接

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

          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?????? 返回滿足連接條件的所有行,而且還會(huì)返回不滿足連接條件的連接操作符的左邊表的其他行

          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?????? 不僅返回滿足連接條件的所有行,而且還會(huì)返回不滿足連接條件的所有行

          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?????? 主要用于在參照表上顯示 ? 上下級(jí)關(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 閱讀(1679) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle


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


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

          導(dǎo)航

          統(tǒng)計(jì)

          公告

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

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊(cè)

          收藏夾

          Java Website

          java技術(shù)博客

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 获嘉县| 同仁县| 许昌市| 东安县| 乐安县| 文成县| 克什克腾旗| 泰和县| 仁化县| 南召县| 尤溪县| 盐山县| 张掖市| 东丽区| 安宁市| 达尔| 应城市| 永康市| 本溪市| 丁青县| 济南市| 沙湾县| 武平县| 贡山| 本溪市| 富顺县| 铜山县| 延吉市| 祁阳县| 玉门市| 体育| 丁青县| 桃园县| 宁都县| 化州市| 梁平县| 横峰县| 吴川市| 湖南省| 乐昌市| 双辽市|