left join的困惑:一旦加上where条件,则显示的结果等于inner join
- 将where 换成 and
- 用where 是先连接然后再筛选
- 用and 是先筛选再连接
过滤条件放在:
where后面:是先连接然生成临时查询结果,然后再筛选
on后面:先根据条件过滤筛选,再连 生成临时查询结果
总结:
-
对于left join,不管on后面跟什么条件,左表的数据全部查出来,因此要想过滤需把条件放到where后面
-
对于inner join,满足on后面的条件表的数据才能查出,可以起到过滤作用。也可以把条件放到where后面。