Oracle左右全连接总结
生活随笔
收集整理的這篇文章主要介紹了
Oracle左右全连接总结
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
--建立測試數(shù)據(jù) create table a(id number); create table b(id number); insert into a values(1); insert into a values(2); insert into a values(3); insert into b values(1); insert into b values(2); insert into b values(4); commit;--左: --主流數(shù)據(jù)庫通用的方法 select * from a left join b on a.id=b.id; --Oracle特有的方法 select * from a, b where a.id=b.id(+);ID ID ---------- ----------1 12 23 --右: --主流數(shù)據(jù)庫通用的方法 select * from a right join b on a.id=b.id; --Oracle特有的方法 select * from a, b where a.id(+)=b.id;ID ID ---------- ----------1 12 24--內(nèi) --主流數(shù)據(jù)庫通用的方法 select * from a join b on a.id=b.id; --where關(guān)聯(lián) select * from a, b where a.id=b.id;ID ID ---------- ----------1 12 2--全外 --主流數(shù)據(jù)庫通用的方法 select * from a full join b on a.id=b.id; --Oracle特有的方法 select *from a, bwhere a.id = b.id(+) union select * from a, b where a.id(+) = b.id;ID ID ---------- ----------1 12 23 4--完全,也叫交叉連接或者笛卡爾積 --主流數(shù)據(jù)庫通用的方法 select * from a,b; --或者 select * from a cross join b;ID ID ---------- ----------1 11 21 42 12 22 43 13 23 4連接無非是這幾個(gè) --內(nèi)連接和where相同 inner join --左向外連接,返回左邊表所有符合條件的 left join --右向外連接,返回右邊表所有符合條件的 right join --完整外部連接,左向外連接和右向外連接的合集 full join --交叉連接,也稱笛卡兒積。返回左表中的每一行與右表中所有行的組合 cross join--補(bǔ)充: --左向外連接,返回左邊表所有符合條件的, --注意這里沒有第二個(gè)加號,會直接過濾掉數(shù)據(jù),只顯示符合條件的記錄 select * from a, bwhere a.id = b.id(+)and b.id = 2;ID ID ---------- ----------2 2 --左向外連接,返回左邊表所有符合條件的 --注意where上第二個(gè)加號,它的作用是修改右邊表記錄的顯示,例如如果b.id(+) = 2,顯示為2,否則顯示null select *from a, bwhere a.id = b.id(+)and b.id(+) = 2;ID ID ---------- ----------2 23 1聲明:JavaEye文章版權(quán)屬于作者,受法律保護(hù)。沒有作者書面許可不得轉(zhuǎn)載。
轉(zhuǎn)載于:https://my.oschina.net/kt431128/blog/344787
總結(jié)
以上是生活随笔為你收集整理的Oracle左右全连接总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: error: jump to label
- 下一篇: CentOS Git服务安装