外聯接、自聯接與聯合

1 外聯接

1 左外聯接

left outer join
外聯接與內聯接的區別:
外聯接一定會提供數據行,無論改行是能否在另一個表中找出相匹配的行。
左外聯接的結果集中的NULL表示右集中沒有找到與左表相符的記錄;相同,在匹配時多條記錄符合條件,就會取出多行。

2 右外聯接

right outer join
與左外聯接類似,不同的是左外聯接from後面是左表,而右外聯接的後面則是右表。

2 自聯接

自聯接能把單一表當成具有完全相同的信息的表來進行進行查詢

 select c1.name,c2.name as boss
 from clown_info c1
 inner join clown_info c2
 on c1.boss_id=c2.di;

當一個表中有id、姓名、老闆id,返回其姓名、老闆姓名

3 聯合(union)

union根據在select中指定的列,把兩張或更多張的查詢結果合併至一個表中。也可將查詢結果用於創建表。
union默認是沒有重複的結果,若需要輸出重複的,可以使用union all運算符。
union使用限制:只能接受一個order by語句,且必須位於語句末端。位於最後一句的order by可以控制整個數據集的輸出。

4 intersect與except

intersect交集
except差集,返回只出現在第一個查詢,而不在第二個查詢中的列。

5 子查詢與聯接的比較

幾乎所有能用子查詢能辦到的事情都能用聯接實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章