Oracle 的各種連接

jopen 9年前發布 | 17K 次閱讀 Oracle 數據庫服務器

SQL UNION 操作符
UNION 操作符用于合并兩個或多個 SELECT 語句的結果集。

請注意,UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條 SELECT 語句中的列的順序必須相同。

SQL UNION 語法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注釋:默認地,UNION 操作符選取不同的值。如果允許重復的值,請使用 UNION ALL。

SQL UNION ALL 語法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
另外,UNION 結果集中的列名總是等于 UNION 中第一個 SELECT 語句中的列名。

另一種連接:內連接和外連接

簡單來講,隨便來個例子:
A表  B表
id name id name
1   a  1   b 
2   b  3   c
4   c  
內連接就是左表和右表相同的數據:
select * from A inner join B on A.id=B.id

id name id name
1   a   1   b

外連接分為:左外連接、右外連接、全外連接

左外連接就是以左表為準,去匹配右表,左表有多少條數據,結果就是多少條數據
select * from A left join B on A.id=B.id
id name id  name
1   a    1   b
2   b   null null
4   c   null null

右外連接就是與左外連接反之,以右表為準,去匹配左表,右表有多少條數據,結果就是多少條數據
select * from A right join B on A.id=B.id
id  name  id name
1    a     1   b
null null  3   c

全外連接數據條數不一定,相當與是左外連接 和右外連接 的綜合
select * from A full join B on A.id=B.id
id  name   id   name
1    a     1     b
2    b     null null
null null   3    c
4    c     null null

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!