所以我知道在查询的 WHERE 子句中添加过滤条件是一种很好的编程习惯,以便最大限度地减少连接中返回的行数,但是我们何时决定是否应该在 WHERE 中添加过滤器而不是 FROM?例如:
SELECT a.ColA, a.ColB, a.ColC, b.ColD, b.ColE
FROM TblA a INNER JOIN TblB b
On a.ColA = b.ColD
AND a.ColA = 'X'
AND a.ColB = 'Y'
WHERE b.ColD = 'ABC'
在这个查询中,如果我在 AND 子句中添加 b.ColD 而不是 WHERE 会怎样?这不会使查询更有效率吗?我知道有时两种方法的结果可能不同,但我不知道为什么?
谢谢。