1. 程式人生 > >小結left join以及中間表查詢

小結left join以及中間表查詢

.com 百度 com log images where 過程 例子 -s

直接上例子:

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篩選、笛卡爾積連接(即一中的過程)之後的結果上再進行篩選!!!

小結left join以及中間表查詢