posts - 110, comments - 101, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          日歷

          <2016年4月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          搜索

          •  

          最新評論

          數(shù)據(jù)庫版本:Oracle 9i

          TESTA,TESTB,TESTC,各有A, B兩列

          A

          B

          001

          10A

          002

          20A

          A

          B

          001

          10B

          003

          30B

          A

          B

          001

          10C

          004

          40C

          連接分為兩種:內(nèi)連接與外連接。

          A.內(nèi)連接

          內(nèi)連接,即最常見的等值連接,例:

          SELECT * 
          FROM TESTA,TESTB
          WHERE TESTA.A=TESTB.A


          結果

          A

          B

          A

          B

          001

          10A

          001

          10B

          B.外連接

          外連接分為左外連接,右外連接和全外連接。

          1.  左外連接 left outer join 或者 left join

          左外連接就是在等值連接的基礎上加上主表中的未匹配數(shù)據(jù),例:

          SELECT *
          FROM TESTA 
          LEFT OUTER JOIN TESTB 
          ON TESTA.A=TESTB.A

          Oracle 支持另一種寫法

          SELECT * 
          FROM TESTA,TESTB
          WHERE TESTA.A=TESTB.A(+)

          結果:

          A

          B

          A

          B

          001

          10A

          001

          10B

          002

          20A

          三個表做左外連接

          SELECT *
          FROM TESTA 
          LEFT OUTER JOIN TESTB 
          ON TESTA.A=TESTB.A
          LEFT OUTER JOIN TESTC
          ON TESTA.A=TESTC.A

          Oracle 支持的另外一種寫法

          SELECT *
          FROM TESTA,TESTB,TESTC
          WHERE TESTA.A=TESTB.A(+)
          AND TESTA.A=TESTC.A(+)

          結果:

          A

          B

          A

          B

          A

          B

          001

          10A

          001

          10B

          001

          10C

          002

          20A

          2. 右外連接 right outer join 或者 right join

          右外連接是在等值連接的基礎上加上被連接表的不匹配數(shù)據(jù)

          SELECT *
          FROM TESTA 
          RIGHT OUTER JOIN TESTB 
          ON TESTA.A=TESTB.A

          Oracle支持的另一種寫法

          SELECT *
          FROM TESTA,TESTB
          WHERE TESTA.A(+)=TESTB.A

          結果:

          A

          B

          A

          B

          001

          10A

          001

          10B

          003

          30B

          3.全外連接 full outer join 或者 full join

          全外連接是在等值連接的基礎上將左表和右表的未匹配數(shù)據(jù)都加上

          SELECT * 
          FROM TESTA 
          FULL OUTER JOIN TESTB
          ON TESTA.A=TESTB.A

          全外連接的等價寫法,對同一表先做左連接,然后右連接

          SELECT  TESTA.*,TESTB.*
          FROM TESTA
          LEFT OUTER JOIN TESTB
          ON TESTA.A=TESTB.A
          UNION
          SELECT TESTA.*,TESTB.*
          FROM TESTB
          LEFT OUTER JOIN TESTA
          ON TESTA.A=TESTB.A

          結果:

          A

          B

          A

          B

          001

          10A

          001

          10B

          002

          20A

          003

          30B



          評論

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2013-08-16 10:54 by 設計大師 小林
          O(∩_∩)O謝謝

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結[未登錄]  回復  更多評論   

          2013-12-05 19:12 by xxx
          好文

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結[未登錄]  回復  更多評論   

          2014-01-08 14:40 by 小歐
          不會做哪些不和發(fā)的http://www.51fsk.com/(富士康直招網(wǎng)) http://www.huigongzuo.com/

          http://www.luwuyou.com/ http://www.peixunt.com/ http://www.yuwomen.com/

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2014-03-10 16:56 by Cxb
          很清晰易懂,謝謝

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2014-03-13 23:06 by okok
          謝謝分享,不是很深入,但看完也算基本入門了。謝謝!

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2014-04-08 16:23 by sd
          很詳細

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2015-03-18 16:40 by nir
          很清晰

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2015-03-19 16:30 by 非客
          文章不錯

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2015-05-26 15:06 by 苗利國
          簡單易懂 清晰明了

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2015-06-06 16:06 by 111111111
          寫的讓我一下子就懂了

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2015-11-24 13:23 by 小夜醬
          受用了

          # re: Oracle內(nèi)連接、外連接、右外連接、全外連接小總結  回復  更多評論   

          2016-04-18 17:55 by q
          q

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 南康市| 巴林右旗| 赣榆县| 栾城县| 远安县| 阿鲁科尔沁旗| 临清市| 揭西县| 青海省| 哈密市| 新巴尔虎左旗| 伊川县| 运城市| 甘肃省| 丰镇市| 黔西| 五华县| 自贡市| 沧州市| 台湾省| 广德县| 铜梁县| 孝义市| 泗水县| 民丰县| 精河县| 镇江市| 洞口县| 工布江达县| 石门县| 成安县| 普洱| 兴隆县| 大同市| 孝义市| 乌兰县| 儋州市| 商水县| 泗洪县| 家居| 中山市|