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

          數(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


          結(jié)果

          A

          B

          A

          B

          001

          10A

          001

          10B

          B.外連接

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

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

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

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

          Oracle 支持另一種寫法

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

          結(jié)果:

          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(+)

          結(jié)果:

          A

          B

          A

          B

          A

          B

          001

          10A

          001

          10B

          001

          10C

          002

          20A

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

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

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

          Oracle支持的另一種寫法

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

          結(jié)果:

          A

          B

          A

          B

          001

          10A

          001

          10B

          003

          30B

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

          全外連接是在等值連接的基礎(chǔ)上將左表和右表的未匹配數(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

          結(jié)果:

          A

          B

          A

          B

          001

          10A

          001

          10B

          002

          20A

          003

          30B



          評論

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

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

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

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

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

          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)連接、外連接、右外連接、全外連接小總結(jié)  回復(fù)  更多評論   

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

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

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

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

          2014-04-08 16:23 by sd
          很詳細(xì)

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

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

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

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

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

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

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

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

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

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

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

          2016-04-18 17:55 by q
          q

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 深州市| 航空| 富蕴县| 怀仁县| 青浦区| 大关县| 华宁县| 同心县| 十堰市| 黑山县| 西贡区| 常宁市| 林口县| 晋城| 凭祥市| 南召县| 肇源县| 六盘水市| 湘潭县| 通州市| 章丘市| 曲松县| 景德镇市| 苍南县| 阳春市| 海淀区| 蕉岭县| 买车| 建平县| 鄢陵县| 大渡口区| 丽江市| 昂仁县| 蒲城县| 盐津县| 随州市| 义乌市| 六安市| 曲阳县| 巴马| 上思县|