哈,很久沒更新文章了,今天來講說關於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
結果集:數據
以上就是三種鏈接的區別!