天天看點

inner join 和join的差別_left join、right join和join,最後還是講明白了!

inner join 和join的差別_left join、right join和join,最後還是講明白了!

文章來源: https:// urlify.cn/uIzIRr

原文作者:我是帥帥的玉米

來源平台:微信公衆号

有個困擾

說到SQL,很多人可能用了挺久,但依然有個問題一直困擾着,那就是

left join

join

right join

inner join

等等各種

join

的差別。網上搜,最常見的就是一張圖解圖,如下:

inner join 和join的差別_left join、right join和join,最後還是講明白了!

接下來就來實際自己動手實驗,徹底搞懂圖中的含義。

首先,先來建兩張表,第一張表命名為

kemu

,第二張表命名為

score

inner join 和join的差別_left join、right join和join,最後還是講明白了!
inner join 和join的差別_left join、right join和join,最後還是講明白了!

left join

顧名思義,就是“左連接配接”,表1左連接配接表2,以左為主,表示以表1為主,關聯上表2的資料,查出來的結果顯示左邊的所有資料,然後右邊顯示的是和左邊有交集部分的資料。如下:

select 
*
from
   kemu
left join score on kemu.id = score.id
           

結果集:

inner join 和join的差別_left join、right join和join,最後還是講明白了!
inner join 和join的差別_left join、right join和join,最後還是講明白了!

right join

“右連接配接”,表1右連接配接表2,以右為主,表示以表2為主,關聯查詢表1的資料,查出表2所有資料以及表1和表2有交集的資料,如下:

select   
*
from
  kemu
right join score on kemu.id = score.id
           

結果集:

inner join 和join的差別_left join、right join和join,最後還是講明白了!
inner join 和join的差別_left join、right join和join,最後還是講明白了!

join(inner join)

join,其實就是“inner join”,為了簡寫才寫成join,兩個是表示一個的,内連接配接,表示以兩個表的交集為主,查出來是兩個表有交集的部分,其餘沒有關聯就不額外顯示出來,這個用的情況也是挺多的,如下

select
*
from
   kemu
join score on kemu.id = score.id
           

結果集:

inner join 和join的差別_left join、right join和join,最後還是講明白了!
inner join 和join的差別_left join、right join和join,最後還是講明白了!

以後對于這三者應該再也不模糊了吧!