1. 程式人生 > >sql語句中的join用法(可視化解釋)

sql語句中的join用法(可視化解釋)

完全 匹配 sele gin amp 並集 。。 idt 設有

一、innerjoin

innerjoin總結來說就是 ,如A知道通往B如何走;B知道通往C如何走;但是A不知道通往C如何走,但是A可以通過B獲得去往C的通往方式。。

首先,假設有A,B兩張表,結構及數據如下:

技術分享圖片

INNERJOIN

技術分享圖片

INNERJOIN產生的結果集是A表和B表的交集。

代碼如下:

技術分享圖片

select <select_list>

結果如下:

技術分享圖片

LEFTJOIN

技術分享圖片

LEFTJOIN產生A表的完全集,而B表中匹配的則有值,沒有匹配的則以NULL填充。

技術分享圖片

技術分享圖片

RIGHTJOIN

技術分享圖片

RIGHTJOIN和LEFTJOIN相對應,產生的是B表的完全集,而A表中匹配的則有值,沒有匹配的則以NULL填充。

技術分享圖片

技術分享圖片

OUTERJOIN

技術分享圖片

OUTERJOIN也可以寫成FULLOUTERJOIN,產生的是A表和B表的並集。沒有匹配的記錄,仍是以NULL填充。

技術分享圖片

技術分享圖片

LEFTExcludingJOIN

技術分享圖片

LEFTExcludingJOIN產生在A表中有而在B表中沒有的集合。

技術分享圖片

技術分享圖片

RIGHTExcludingJOIN

技術分享圖片

RIGHTExcludingJOIN與LEFTExcludingJOIN相對應,產生的是B表中有而在A表中沒有的集合。

技術分享圖片

技術分享圖片

OUTERExcludingJOIN

技術分享圖片

OUTERExcludingJOIN產生的是A表有而B表沒有,B表有而A表沒有的數據集。

技術分享圖片

技術分享圖片

最後,下面這張圖整理了上面講的所有內容。

技術分享圖片

sql語句中的join用法(可視化解釋)