我对使用ON
vs.过滤连接的理解是否WHERE
正确?
WHERE
...将过滤连接表的结果,这意味着 aLEFT JOIN
或RIGHT JOIN
不会显示预期表中的所有记录,因为即使WHERE
过滤器可能位于另一个表中的字段上,它们也会被过滤掉。
ON
...可以用作正在连接的表的过滤器。我曾经认为ON
仅用于在连接两个表时比较它们之间的字段,但它也可以作为WHERE
正在连接的特定表的隔离。
当您只连接两个表时,这一切都不重要,但我已经意识到,在跨 3 个以上的表进行非常大的连接时,理解差异至关重要。