- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在子查询中使用 order by 时,会抛出错误:例如:
set rowcount 10
select * from XXX where Col1 in(
select Col2 from YYY
order by Col3 desc
)
为什么这种类型的查询在 SQL Server 中受到限制?抛出的错误是:
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified.
最佳答案
简短回答:
因为集合没有顺序。
更长的答案:
SQL 是 relational calculus 的实现,它基于元组集(表、行集等)。集合没有顺序(与相关概念不同,列表是具有顺序的集合)。
此外,在最终输出之前对集合应用排序(通常)没有任何好处,而且会带来相当大的危害,因为:
它通常唯一有意义的地方是最终输出,因为无论如何数据都必须在那里串行传输。
在最终输出之前,唯一有意义的地方是诸如 TOP (N)
之类的东西,它需要排序来确定哪些行是“Top”行。
它对于某些聚合函数也有意义,这就是为什么它们中的许多函数都有自己的自己 ORDER BY
子句。也可用于在中间阶段构建 XML 结果。
关于sql-server - 为什么 SQL 子查询中的 order by 受到限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31474694/
在子查询中使用 order by 时,会抛出错误:例如: set rowcount 10 select * from XXX where Col1 in( select Col2 from Y
我有一个带有 README.md 的 GitHub 元素文件。我通过以下方式嵌入图像 这里是 an example这样的形象。 注意:GitHub 允许使用嵌入式 HTML,但不允许使用 CSS,这
需要更深入地了解此主题。 我尝试在受限 header 的文档中查找特定原因,但找不到。 以下是受限 header 列表: 接受字符集接受编码访问控制请求 header 访问控制请求方法连接内容长度Co
当尝试检索我的通知中心的注册列表时,我收到以下错误: [QuotaExceededException: The remote server returned an error: (403) Forbi
当尝试检索我的通知中心的注册列表时,我收到以下错误: [QuotaExceededException: The remote server returned an error: (403) Forbi
我正在使用来自 http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html 的美国东
我是一名优秀的程序员,十分优秀!