![]() |
1
1024
在
请注意
查询的多次调用可以为同一顺序提供不同的行项目,即使底层没有更改。
如果要确定顺序,应添加
|
![]() |
2
97
我知道这个问题不久前就得到了解答,但是在处理大型数据集时,嵌套查询可能会很昂贵。这里有一个不同的解决方案,其中嵌套查询只运行一次,而不是针对返回的每一行。
|
![]() |
3
26
你可以这样做:
这要求在
|
![]() |
4
16
@quassnoi答案很好,在某些情况下(特别是如果外部表很大),使用窗口函数可能会更有效地查询,如下所示:
有时候你只是 need to test 哪个查询提供更好的性能。 |
![]() |
5
9
,另一个使用公共表表达式的函数:
或者,最后,您可能希望显示所有连接的行? 此处使用逗号分隔的版本:
|
![]() |
6
7
相关子查询是依赖外部查询的子查询。它就像SQL中的for循环。对于外部查询中的每一行,子查询将运行一次:
|
![]() |
7
5
编辑:无论如何,奎斯诺有更好的答案。 对于sql2k,如下所示:
|
![]() |
8
3
我使用左联接和按orders.ordernumber分组来解决类似的问题。有没有理由不这样做?
我会用你自己的问题回答你的答案:
将这两个订单号连接在一起可以得到:
我们希望它只返回一行:
这就是为什么我使用group by orders.ordernumber,它只返回每个ordernumber一行。 |
![]() |
9
3
我最喜欢使用不存在子句来运行此查询。我认为这是运行此类查询的最有效方法:
但我并没有用这里建议的其他方法来测试这个方法。 |
![]() |
10
3
从SQL Server 2012及以后,我认为这将起到关键作用:
|
![]() |
11
2
试过交叉,效果很好,但需要稍长时间。将行列调整为“最大”,并添加组以保持速度并删除额外记录。 下面是调整后的查询:
|
![]() |
Community wiki · SQL语法新手 1 年前 |
|
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |