【发布时间】:2017-12-21 03:52:47
【问题描述】:
我正在练习 SQL 查询,我对一个问题的解决方案是:
SELECT C.*
FROM customer C
INNER JOIN salesman S ON C.salesman_id = S.salesman_id
AND S.commission > 0.12
AND S.city <> C.city;
这个问题的解决方案是:
SELECT C.*
FROM customer C
INNER JOIN salesman S ON C.salesman_id = S.salesman_id
WHERE S.commission > .12
AND C.city <> S.city;
但是,两个输出之间没有区别。
所以我想了解何时应该使用 WHERE 子句和 ANDclause 和 INNER JOIN ?
两个给定查询之间会有任何性能差异吗?
【问题讨论】:
-
这两个查询不会有任何性能差异。这是个人喜好的问题。我想将连接谓词保留在
ON条件中,并将过滤器保留在Where子句中
标签: sql join inner-join where-clause