相关疑难解决方法(0)

使用JOIN时WHERE Clause vs ON

假设我有以下T-SQL代码:

SELECT * FROM Foo f
INNER JOIN Bar b ON b.BarId = f.BarId;
WHERE b.IsApproved = 1;
Run Code Online (Sandbox Code Playgroud)

以下一行也返回相同的行集:

SELECT * FROM Foo f
INNER JOIN Bar b ON (b.IsApproved = 1) AND (b.BarId = f.BarId);
Run Code Online (Sandbox Code Playgroud)

这可能不是这里最好的案例样本,但这两者之间是否有任何性能差异?

sql t-sql sql-server inner-join sql-server-2008-r2

41
推荐指数
3
解决办法
2万
查看次数

在JOIN和WHERE中过滤查询的区别?

在SQL中,我试图根据ID过滤结果,并想知道它们之间是否存在任何逻辑差异

SELECT value 
FROM table1 
JOIN table2 ON table1.id = table2.id 
WHERE table1.id = 1
Run Code Online (Sandbox Code Playgroud)

SELECT value 
FROM table1 
JOIN table2 ON table1.id = table2.id AND table1.id = 1
Run Code Online (Sandbox Code Playgroud)

对我来说,它好像逻辑是不同的,虽然你总是会得到相同的结果集,但我不知道是否有下,你会得到两个不同的结果集(或将它们总是返回完全相同的两个结果集的任何条件)

sql join resultset where

29
推荐指数
2
解决办法
8660
查看次数

连接条件中的SQL筛选条件或更高效的where子句

我有一个相对简单的查询连接两个表."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 
Run Code Online (Sandbox Code Playgroud)

案例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 
Run Code Online (Sandbox Code Playgroud)

注意案例1完全没有where子句

RDBMS是Sql Server 2005

编辑 如果第二部分连接条件或where子句是sales.salesdate <某个固定日期,那么它实际上没有任何加入这两个表的条​​件会改变答案.

sql sql-server join where-clause

27
推荐指数
1
解决办法
2万
查看次数

INNER JOIN Where Clause

做某事之间是否有区别?

SELECT * 
FROM table1 INNER JOIN table2 ON table2.ObjectId = table1.table2ObjectId 
WHERE table2.Value = 'Foo'
Run Code Online (Sandbox Code Playgroud)

VS

SELECT * 
FROM table1 INNER JOIN table2 
ON table2.ObjectId = table1.table2ObjectId AND table2.Value = 'Foo'
Run Code Online (Sandbox Code Playgroud)

sql sql-server

17
推荐指数
1
解决办法
7万
查看次数