我有一个相对简单的查询连接两个表。“Where”条件可以在连接条件中表示,也可以用 where 子句表示。我想知道哪个更有效。
查询是查找推销员从开始到晋升的最大销售额。
情况1
select salesman.salesmanid, max(sales.quantity)
from salesman
inner join sales on salesman.salesmanid =sales.salesmanid
and sales.salesdate < salesman.promotiondate
group by salesman.salesmanid
案例2
select salesman.salesmanid, max(sales.quantity)
from salesman
inner join sales on salesman.salesmanid =sales.salesmanid
where sales.salesdate < salesman.promotiondate
group by salesman.salesmanid
注意案例 1 完全没有 where 子句
RDBMS 是 Sql Server 2005
编辑 如果连接标准的第二部分或 where 子句是 sales.salesdate < 某个固定日期,那么实际上连接两个表的任何标准都不会改变答案。