比较这两个查询:....
查询1
SELECT *
FROM TableA a
INNER JOIN TableXRef x
ON a.ID = x.TableAID
INNER JOIN TableB b
ON x.TableBID = b.ID
WHERE a.ID = 1 /* <-- Filter here? */
查询2
SELECT *
FROM TableA a
INNER JOIN TableXRef x
ON a.ID = x.TableAID
AND a.ID = 1 /* <-- Or filter here? */
INNER JOIN TableB b
ON x.TableBID = b.ID
答案 0 :(得分:0)
无关紧要,两种情况都应该执行同样的事情。
我个人更喜欢只在ON子句中使用连接条件,在WHERE子句中使用“过滤”。