关联查询left join中on 和where 的区别

关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒

ON 条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行。

如果 B 表中没有任何一行数据匹配 ON 的条件,将会额外生成一行所有列为 NULL 的数据

在匹配阶段 WHERE 子句的条件都不会被使用。仅在匹配阶段完成以后,WHERE 子句条件才会被使用。它将从匹配阶段产生的数据中检索过滤。

 ON 条件决定了从 LEFT JOIN的 product_details表中检索符合的所有数据行。

WHERE 子句从 LEFT JOIN的数据中过滤掉不符合条件的数据行。

posted @ 2016-10-13 11:55  刘威jcw  阅读(704)  评论(0编辑  收藏  举报