原文链接: https://blog.csdn.net/qq_27529917/article/details/87904179
1. 先根据where 的第一个条件过滤, 然后用得到的结果,在中间表中找到关联表对应的数据, 然后再用第二个where条件进行结果筛选。
select a.*,c.* from a join c on a.a2=c.c2 where a.a1>4;
select a.*,b.*,c.* from a join c on a.a2=c.c2 join b on c.c2=b.b2 where b.b1>4;
Mysql 条件放在on和where的区别(https://www.cnblogs.com/acode/p/9531755.html)
1. left join
条件在where后面
运行结果:
条件在on后面
运行结果:
结果分析
当条件放在on后面时,无论on条件的真假,都会返回左表的值;
当条件放在where后面时,只有满足条件的记录会返回。