Possible Duplicate:
Condition within JOIN or WHERE
下面两个查询是否相同?
SELECT u.*
FROM User u
INNER JOIN Sales s ON (u.userId = s.userId)
WHERE
u.active = 1 AND
s.amount > 0 AND
s.status = 1
对比:
SELECT u.*
FROM User u
INNER JOIN Sales s ON
(u.userId = s.userId AND s.amount > 0 and s.status=1)
WHERE
u.active = 1
这两个查询的结果集总是相同吗? 性能考虑因素?
最佳答案
SQL Server查询优化器足够聪明,知道这会做同样的事情,所以他会生成相同的执行计划。这意味着您将获得相同的性能。 为了确保您可以查看执行计划并进行比较。
关于sql - where 子句与内连接语句检查,它们相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13145275/