首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >订单是结果集的一部分吗?

订单是结果集的一部分吗?
EN

Database Administration用户
提问于 2016-08-04 13:23:31
回答 3查看 106关注 0票数 2

这个问题让我想到:在划_NUMBER() on (按B划分,A顺序按C划分)不对(A,B,C)使用索引中,发问者陈述了两个函数给出了相同的结果集,但是它们没有相同的行,但它们总是处于不同的(和一致的)顺序中。

结果集的顺序是结果集的一部分吗?维基百科暗示不可能(但并不能很好地确定答案,也不代表权威):

https://en.wikipedia.org/wiki/Result_设置

代码语言:javascript
复制
Sector  Name
A   Alpha
B   Beta

相同的结果集

代码语言:javascript
复制
Sector  Name
B   Beta
A   Alpha

我个人只使用SQL Server,答案会因平台而改变吗?答案是否只是意见的问题?(如果是的话,请只回答事实,或至少给出专业团体的共识-请不要给出你的个人意见)

EN

回答 3

Database Administration用户

回答已采纳

发布于 2016-08-05 07:54:14

可能是ANSI 92的定义

http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt

给出答案。第3.1节定义似乎区分了结果集的概念和结果序列。当我用前一句写这个问题时,我并没有意识到这种区别。

( v)序列:一个有序的对象集合,这些对象不一定是不同的。集合:由不同的对象组成的无序集合。集合可能是空的。

票数 4
EN

Database Administration用户

发布于 2016-08-04 16:56:17

Ansi sql不考虑对结果集的一部分排序-因此这2是相同的。结果集确实是一个集合。

顺便说一句,‘大玩家’(甲骨文,微软.)密切遵循ansi sql,如果他们认为它们是相同的,那么标准也是如此.(在大多数事情上)

票数 1
EN

Database Administration用户

发布于 2018-11-15 12:01:29

术语“结果集”碳化硅没有出现在1992年的SQL标准中。它通常用于表示select语句的结果。它是表中的一个部分有序的行序列:

20.2 Format < direct语句:多行> 5)如果指定了< order by子句>,则结果的行顺序由< order by子句>有效地确定如下:

来自2003年SQL标准:

3.1.6.30结果集:由<游标规范>指定的一系列行,通过打开游标而产生,并按游标进行排列,并且具有灵敏度、滚动性、可保持性和可返回性等操作属性。

3.1.6.32返回结果集:在执行SQL调用的过程期间创建的结果集,在执行结束时不销毁结果集。这样的结果集可以通过使用游标而不是使其存在的游标(接收到的游标)来访问。

14.3 Format <游标规范> ::= <查询表达式> < order by子句>

22.2 Function指定一条语句,用于从指定的table. Format <直接选择语句中检索多行:多行> ::= <游标规范>堆栈returned语法Rules 2) <游标规范>不应包含< updatability子句>. General Rules 1) (假设Q是<游标规范>. 2)的结果: a)如果Q为空,则会引发一个完成条件:否则,Q不为空,并返回Q。返回Q的方法是实现定义的。

(显然,SELECT语句的结果是有序的,因为它的ORDER是这样做的。)

桌子乱七八糟。但是结果集碳化硅不是一个表。

票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/145887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档