直接上例子: a表 b表 ab表 一、left join 過程(以 select * from a left join ab on a.a_id = ab.a_id): 用a中的記錄根據on條件聯合ab的記錄進行篩選並做笛卡爾積,過稱為 篩選過程: a: 1,"lige" ab: 1,3 1,2 a ...
直接上例子:
a表
b表
ab表
一、left join 過程(以 select * from a left join ab on a.a_id = ab.a_id):
用a中的記錄根據on條件聯合ab的記錄進行篩選並做笛卡爾積,過稱為
篩選過程:
a: 1,"lige" ab: 1,3
1,2
a: 2,"jk" ab:2,3
a:3,"df" ab:3,3
a:4,"kk" ab:NULL
笛卡爾積:
1,"lige",1,3
1,"lige",1,2
2,"jk",2,3
3,"df",3,3
4,"kk",null,null
即為查詢的結果
二、三張表連接查詢的過程
就是在a和ab做了連接查詢得到的結果上再與b做連接查詢
select * from a left join ab on a.a_id=ab.a_id left join b on ab.b_id=b.b_id;
三、LEFT JOIN條件放ON和WHERE後的區別(圖轉自百度經驗)
註意:條件放WHERE後時的先連接後篩選是指在根據on篩選、笛卡爾積連接(即一中的過程)之後的結果上再進行篩選!!!