- 1.ON 子句与 WHERE 子句的不同
关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒ON 条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行。 如果 B 表中没有任何一行数据匹配 ON 的条件,将会额外生成一行所有列为 NULL 的数据 在匹配阶段 WHERE 子句的条件都不会被使用。仅在匹配阶段完成以后,WHERE 子句条件才会被使用。
它将从匹配阶段产生的数据中检索过滤。
- 2.一种更好地理解带有 WHERE ... IS NULL 子句的复杂匹配条件的简单方法
将 IS NULL 作为否定匹配条件 使用 !(A and B) == !A OR !B 逻辑判断
- 3.Matching-Conditions 与 Where-conditions 的不同
你把基本的查询条件放在 ON 子句中,把剩下的否定条件放在 WHERE 子句中,那么你会获得相同的结果。
转自: 关于mysql left join你可能需要了解的三点