文章來源: https:// urlify.cn/uIzIRr
原文作者:我是帥帥的玉米
來源平台:微信公衆号
有個困擾
說到SQL,很多人可能用了挺久,但依然有個問題一直困擾着,那就是
left join
、
join
、
right join
和
inner join
等等各種
join
的差別。網上搜,最常見的就是一張圖解圖,如下:
接下來就來實際自己動手實驗,徹底搞懂圖中的含義。
首先,先來建兩張表,第一張表命名為
kemu
,第二張表命名為
score
:
left join
顧名思義,就是“左連接配接”,表1左連接配接表2,以左為主,表示以表1為主,關聯上表2的資料,查出來的結果顯示左邊的所有資料,然後右邊顯示的是和左邊有交集部分的資料。如下:
select
*
from
kemu
left join score on kemu.id = score.id
結果集:
right join
“右連接配接”,表1右連接配接表2,以右為主,表示以表2為主,關聯查詢表1的資料,查出表2所有資料以及表1和表2有交集的資料,如下:
select
*
from
kemu
right join score on kemu.id = score.id
結果集:
join(inner join)
join,其實就是“inner join”,為了簡寫才寫成join,兩個是表示一個的,内連接配接,表示以兩個表的交集為主,查出來是兩個表有交集的部分,其餘沒有關聯就不額外顯示出來,這個用的情況也是挺多的,如下
select
*
from
kemu
join score on kemu.id = score.id
結果集:
以後對于這三者應該再也不模糊了吧!