以下两个查询不返回相同的结果。为什么?
注意:我发现这个问题是一个Mysql难题,我没有关于这个问题的更多数据?

SELECT table1.*
FROM table1 LEFT JOIN table2
ON table2.table1_id = table1.id
AND table2.val < 5


SELECT table1.*
FROM table1 LEFT JOIN table2
ON table2.table1_id = table1.id
WHERE table2.val < 5

最佳答案

当条件不满足时,左外部联接将返回行(如果选择了空列,则返回表2中的空列),而WHERE将筛选出这些行。

关于mysql - Mysql之谜:ON与WHERE中的条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7587304/

10-14 00:27