left join on
1.作用:查询主表和符合条件的附表的合并的结果集。
2.原理:a表和b表求笛卡儿积,on表示条件符合,a和b表查询符合条件的结果组成新的结果集,合并表中没有符合条件的字段置空。
3.注意:
-a表
-b表
- 主表条件写在where之后,否则没有效果
- 附表条件写在on之后
1.SELECT a.*,b.* FROM a LEFT JOIN b ON a.id = b.pid
2.SELECT a.*,b.* FROM a LEFT JOIN b ON a.id = b.pid and a.id = 1
3.SELECT a.*,b.* FROM a LEFT JOIN b ON a.id = b.pid WHERE a.id = 1
4.SELECT a.*,b.* FROM a LEFT JOIN b ON a.id = b.pid and b.`value` = 'a'
附表条件不论主表是否匹配,结果集都会有a表所有记录,不匹配的列会置空
4.在多表查询中可能出现数据库中只有一条数据,查询结果重复多条,可能因为连接条件