介绍
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
重点:先匹配,再使用where条件筛选
语法
user表数据:
user_online表数据:
查询1
//单条件:右表中不存在的全为空
select * from `user` a left join user_online b on a.ID=b.user_id
//on 加 where :先用on匹配,再用where条件筛选
select * from `user` a left join user_online b on a.id=b.user_id where b.login_date="2019-11-09 10:02:38";
*查询3: where 字段 is null *
// where 字段 is null
select * from `user` a left join user_online b on a.ID=b.user_id WHERE b.user_id is null;
*查询4: where 字段 is not null *
// where 字段 is not null
select * from `user` a left join user_online b on a.ID=b.user_id WHERE b.user_id is null;
查询4:多条件,where和的单条件一致
//多条件:把on的所有条件作为匹配条件,不符合的右表都为null
select * from `user` a left join user_online b on a.id=b.user_id and org_id="1008000000"