1. 程式人生 > 實用技巧 >一分鐘讓你搞明白 left join、right join和join的區別

一分鐘讓你搞明白 left join、right join和join的區別

left join、join、right join和inner join等等各種join的區別。網上搜,最常見的就是一張圖解圖,如下:

一張圖道清所有join的區別

首先,我們先來建兩張表,第一張表命名為kemu,第二張表命名為score:

一、left join

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

結果集:

二、right join

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

結果集:

三、join

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

結果集:


以上就是三種連線的區別。

原文:https://blog.csdn.net/li_jian_hui_/article/details/105801454