mysql中 对多表的查询有两种方式:表连接,子查询
表连接 是对 多张表 做笛卡尔积,生成临时表,消耗内存
子查询分步的单表查询(in, exists)

表连接时 根据 on 后面的条件做关联
生成临时表后 通过where条件再次过滤关联的结果

join 条件是在生成临时表时做过滤
where 是在生成临时表后 再次筛选

join on后面的条件 对A,B表都起作用,
join left on 后面的条件 只对 B表起作用

mysql join、left join、where、子查询区别
mysql join、left join、where、子查询区别
mysql join、left join、where、子查询区别

mysql join、left join、where、子查询区别
mysql join、left join、where、子查询区别

相关文章: