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

Posted 刘威jcw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关联查询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的数据中过滤掉不符合条件的数据行。

以上是关于关联查询left join中on 和where 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Oracle的left join中on和where的区别

使用left join关联中 on后面的and条件和where后面的条件区别

mysql关联left join条件on和where条件的区别及结合coalesce函数

left join on和where

深入Oracle的left join中on和where的区别详解

关于SQL 查询效率问题 left join 改成 inner join union