Oracle左右全連線總結
Oracle左右全連線總結-
--建立測試資料
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;
--左:
--主流資料庫通用的方法
select * from a left join b on a.id=b.id;
--Oracle特有的方法
select * from a, b where a.id=b.id(+);
ID ID
---------- ----------
1 1
2 2
3
--右:
--主流資料庫通用的方法
select * from a right join b on a.id=b.id;
--Oracle特有的方法
select * from a, b where a.id(+)=b.id;
ID ID
---------- ----------
1 1
2 2
4
--內
--主流資料庫通用的方法
select * from a join b on a.id=b.id;
--where關聯
select * from a, b where a.id=b.id;
ID ID
---------- ----------
1 1
2 2
--全外
--主流資料庫通用的方法
select * from a full join b on a.id=b.id;
--Oracle特有的方法
select *
from a, b
where a.id = b.id(+)
union
select *
from a, b
where a.id(+) = b.id;
ID ID
---------- ----------
1 1
2 2
3
4
--完全,也叫交叉連線或者笛卡爾積
--主流資料庫通用的方法
select * from a,b;
--或者
select * from a cross join b;
ID ID
---------- ----------
1 1
1 2
1 4
2 1
2 2
2 4
3 1
3 2
3 4
連線無非是這幾個
--內連線和where相同
inner join <=>( 等價於) join
--左向外連線,返回左邊表所有符合條件的
left join <=> left outer join
--右向外連線,返回右邊表所有符合條件的
right join <=> right outer join
--完整外部連線,左向外連線和右向外連線的合集
full join <=> full outer join
--交叉連線,也稱笛卡兒積。返回左表中的每一行與右表中所有行的組合
cross join
--補充:
--左向外連線,返回左邊表所有符合條件的,
--注意這裡沒有第二個加號,會直接過濾掉資料,只顯示符合條件的記錄
select *
from a, b
where a.id = b.id(+)
and b.id = 2;
ID ID
---------- ----------
2 2
--左向外連線,返回左邊表所有符合條件的
--注意where上第二個加號,它的作用是修改右邊表記錄的顯示,例如如果b.id(+) = 2,顯示為2,否則顯示null
select *
from a, b
where a.id = b.id(+)
and b.id(+) = 2; 【 注:紅字的地方要保持一致,才能看到目標效果】
ID ID
---------- ----------
2 2
3
1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-753094/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 左右連線總結Oracle
- Oracle 左外連線、右外連線、全外連線小總結Oracle
- Oracle內連線、外連線、右外連線、全外連線小總結Oracle
- oracle 左右連線詳解Oracle
- Oracle 內外連線 join 總結Oracle
- 內連線、外連線總結
- ORACLE會話連線程式三者總結Oracle會話線程
- 【SQL】Oracle的內連線、左外連線、右外連線及全外連線SQLOracle
- mysql 外連線總結MySql
- oracle sql內連線_左(右)連線_全外連線_幾種寫法OracleSQL
- css 元素左右居中總結CSS
- TCP連線的坑總結TCP
- Oracle 表連線方式詳解(外連結、內連線、自連線)Oracle
- Mysql 左右連線舉例說明MySql
- MySQL和Oracle中的半連線測試總結(一)MySqlOracle
- MYSQL學習筆記23: 多表查詢(自連線內連線+左右外連線)MySql筆記
- 【經典】連線oracle的總結(關於tnsname和監聽)Oracle
- 例項解析外連線 內連線 自連線 全連線
- MYSQL語法:左連線、右連線、內連線、全外連線MySql
- Smack 開發總結(一)管理連線Mac
- MySQL反連線的優化總結MySql優化
- 外連線的一些總結
- SQL的四種連線:內連線 左外連線 右外連線 全連線SQL
- SQL Server連線SQL Server、SQL Server連線ORACLE 連結伺服器SQLServerOracle伺服器
- 深入淺出SQL之左連線、右連線和全連線SQL
- 【很全很新】C3P0 連線池和 DBUtils 配合事務使用總結
- Jdbc連線Oracle常見錯誤彙總JDBCOracle
- Oracle(+)連線與Join連線Oracle
- Oracle左連線,右連線Oracle
- 深入理解SQL的四種連線-左外連線、右外連線、內連線、全連線SQL
- VMware Workstation Pro各版本下載連結彙總(特全!!!)
- ORACLE 半連線與反連線Oracle
- 三種表連線方式 最佳化總結
- ISP 連結總結
- 全連線層的作用解析
- 笛卡爾積與全連線
- Oracle的左連線和右連線Oracle
- PHP 連線 OraclePHPOracle