【mySQL】left join、right join和join的區別

哈,很久沒更新文章了,今天來講說關於mySQL那些年的小事。說到mySQL啊,用了挺久的了,可是有個問題一直在困擾着我,就是left join、join、right join和inner join等等各類join的區別。網上搜,最多見的就是一張圖解圖,以下:sql

真的是一張圖道清全部join的區別啊,惋惜我仍是看不懂,可能人比較懶,而後基本一個left join給我就是夠用的了,因此就沒怎麼去仔細研究了,可是現實仍是逼我去搞清楚,索性本身動手,總算理解圖中的含義了,下面就聽我一一道來。spa

首先,咱們先來建兩張表,第一張表命名爲kemu,第二張表命名爲score:3d

1、left join
顧名思義,就是「左鏈接」,表1左鏈接表2,以左爲主,表示以表1爲主,關聯上表2的數據,查出來的結果顯示左邊的全部數據,而後右邊顯示的是和左邊有交集部分的數據。以下:code

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

結果集:blog

2、right joinclass

「右鏈接」,表1右鏈接表2,以右爲主,表示以表2爲主,關聯查詢表1的數據,查出表2全部數據以及表1和表2有交集的數據,以下:select

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

結果集:im

3、join
join,其實就是「inner join」,爲了簡寫才寫成join,兩個是表示一個的,內鏈接,表示以兩個表的交集爲主,查出來是兩個表有交集的部分,其他沒有關聯就不額外顯示出來,這個用的狀況也是挺多的,以下命名

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

結果集:數據

以上就是三種鏈接的區別!

相關文章
相關標籤/搜索