直接上例子: 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筛选、笛卡尔积连接(即一中的过程)之后的结果上再进行筛选!!!
|