1. 程式人生 > 其它 >left join 和 right join的區別

left join 和 right join的區別

用一句話來概括就是:

left join 會查詢出左表所有的資料,以及右表能連線上的欄位
right join 會查詢出右表所有的資料,以及左表能連線上的欄位

用一張圖來概括就是:

大白話的說法就是:

比方說,我們有兩張表 一張是人物表person 一張是年齡表age
person
id/姓名
01/張三
02/李四
03/王五
另一張
id/age
02/20
03/25
04/23

1.left join

左連線,什麼意思呢?就是以左表為主,以person為主,關聯上age的資料,顯示的是左表的全部資料,以及顯示右表與左表交集的資料

select * from person left join age on person.id=age.id


得出的結果為
id/姓名/id/age
01/張三/null/null
02/李四/02/20
03/王五/03/25

2.right join

右連線,顧名思義,就是以右表為主
select * from age left join person on person.id=age.id

得出的結果為
id/姓名/id/age
02/李四/02/20
03/王五/03/25
null/null/04/23

3.join

最後在補充一個 join,也就是inner join,內連線,也就是隻顯示有交集的部分

得出的結果為
id/姓名/id/age
02/李四/02/20
03/王五/03/25