【SQL】Oracle的內連線、左外連線、右外連線及全外連線
理解Oracle的各種連線方法的最有效的方法就是“躬親”,在實踐中去深刻理解內連線,左外連線,右外連線,全外連線的概念的和效果。
1.建立測試表並準備測試資料
sec@ora10g> create table a (a number(1),b number(1),c number(1));
sec@ora10g> create table b (a number(1),d number(1),e number(1));
sec@ora10g> insert into a values(1,1,1);
sec@ora10g> insert into a values(2,2,2);
sec@ora10g> insert into a values(3,3,3);
sec@ora10g> insert into b values(1,4,4);
sec@ora10g> insert into b values(2,5,5);
sec@ora10g> insert into b values(4,6,6);
sec@ora10g> commit;
sec@ora10g> select * from a;
A B C
---------- ---------- ----------
1 1 1
2 2 2
3 3 3
sec@ora10g> select * from b;
A D E
---------- ---------- ----------
1 4 4
2 5 5
4 6 6
2. 內連線
sec@ora10g> select * from a, b where a.a=b.a;
另外一種寫法如下
sec@ora10g> select * from a inner join b on a.a=b.a;
A B C A D E
---------- ---------- ---------- ---------- ---------- ----------
1 1 1 1 4 4
2 2 2 2 5 5
3.左外連線
sec@ora10g> select * from a,b where a.a=b.a(+);
另外一種寫法如下
sec@ora10g> select * from a left outer join b on a.a=b.a;
A B C A D E
---------- ---------- ---------- ---------- ---------- ----------
1 1 1 1 4 4
2 2 2 2 5 5
3 3 3
4.右外連線
sec@ora10g> select * from a,b where a.a(+)=b.a;
另外一種寫法如下
sec@ora10g> select * from a right outer join b on a.a=b.a;
A B C A D E
---------- ---------- ---------- ---------- ---------- ----------
1 1 1 1 4 4
2 2 2 2 5 5
4 6 6
5.全外連線
sec@ora10g> select * from a full outer join b on a.a=b.a;
A B C A D E
---------- ---------- ---------- ---------- ---------- ----------
1 1 1 1 4 4
2 2 2 2 5 5
3 3 3
4 6 6
6.小結
透過使用Oracle提供的各種SQL連線功能可以解決諸多的“疑難雜症”,需靈活掌握。
Good luck.
secooler
10.10.17
-- The End --
1.建立測試表並準備測試資料
sec@ora10g> create table a (a number(1),b number(1),c number(1));
sec@ora10g> create table b (a number(1),d number(1),e number(1));
sec@ora10g> insert into a values(1,1,1);
sec@ora10g> insert into a values(2,2,2);
sec@ora10g> insert into a values(3,3,3);
sec@ora10g> insert into b values(1,4,4);
sec@ora10g> insert into b values(2,5,5);
sec@ora10g> insert into b values(4,6,6);
sec@ora10g> commit;
sec@ora10g> select * from a;
A B C
---------- ---------- ----------
1 1 1
2 2 2
3 3 3
sec@ora10g> select * from b;
A D E
---------- ---------- ----------
1 4 4
2 5 5
4 6 6
2. 內連線
sec@ora10g> select * from a, b where a.a=b.a;
另外一種寫法如下
sec@ora10g> select * from a inner join b on a.a=b.a;
A B C A D E
---------- ---------- ---------- ---------- ---------- ----------
1 1 1 1 4 4
2 2 2 2 5 5
3.左外連線
sec@ora10g> select * from a,b where a.a=b.a(+);
另外一種寫法如下
sec@ora10g> select * from a left outer join b on a.a=b.a;
A B C A D E
---------- ---------- ---------- ---------- ---------- ----------
1 1 1 1 4 4
2 2 2 2 5 5
3 3 3
4.右外連線
sec@ora10g> select * from a,b where a.a(+)=b.a;
另外一種寫法如下
sec@ora10g> select * from a right outer join b on a.a=b.a;
A B C A D E
---------- ---------- ---------- ---------- ---------- ----------
1 1 1 1 4 4
2 2 2 2 5 5
4 6 6
5.全外連線
sec@ora10g> select * from a full outer join b on a.a=b.a;
A B C A D E
---------- ---------- ---------- ---------- ---------- ----------
1 1 1 1 4 4
2 2 2 2 5 5
3 3 3
4 6 6
6.小結
透過使用Oracle提供的各種SQL連線功能可以解決諸多的“疑難雜症”,需靈活掌握。
Good luck.
secooler
10.10.17
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-563019/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL的四種連線:內連線 左外連線 右外連線 全連線SQL
- Oracle 左外連線、右外連線、全外連線小總結Oracle
- 深入理解SQL的四種連線-左外連線、右外連線、內連線、全連線SQL
- Oracle內連線、外連線、右外連線、全外連線小總結Oracle
- oracle sql內連線_左(右)連線_全外連線_幾種寫法OracleSQL
- MYSQL語法:左連線、右連線、內連線、全外連線MySql
- Oracle左外連線、右外連線、完全外連線以及(+)號用法Oracle
- 內聯,左外聯,右外聯,全連線,交叉連線 的區別
- sql和hql中join語句區別,以及hibernate中內連線,迫切內連線,左外連線,迫切左外連線,右外連線的區別(合集)...SQL
- sql 內連線和外連線SQL
- 內連線、左連線、右連線
- 內連線、外連線
- 例項解析外連線 內連線 自連線 全連線
- Oracle左連線,右連線Oracle
- sql內連結,外連線SQL
- mysql左外連線MySql
- 內連線、外連線總結
- SQL SERVER 自連線、外連線SQLServer
- 左連線,右連線
- Oracle的左連線和右連線Oracle
- Oracle 表連線方式詳解(外連結、內連線、自連線)Oracle
- SQL中的左連線和右連線SQL
- InfoSet中左外連線
- 左連線與右連線
- 左連線和右連線
- oracle外連線Oracle
- MySQL筆記3——內連線/外連線、多表連線MySql筆記
- 你真的會玩SQL嗎?內連線、外連線SQL
- mysql 左連線,右連線,內連結,exists等MySql
- SQL Server中內連線和外連線的區別SQLServer
- 資料庫外連線,自然連線,內連線,條件連線,等值連線關係及詳解資料庫
- 外連線與連線順序
- mysql INNER JOIN、LEFT JOIN、RIGHT JOIN;內連線(等值連線)、左連線、右連線MySql
- 深入淺出SQL之左連線、右連線和全連線SQL
- 外連線轉換為內連線的情況
- 轉載:內連線與外連線的區別
- oracle 外連線的使用Oracle
- pl/sql裡的左連線和右連線符號“+”SQL符號