【发布时间】:2010-02-02 19:57:55
【问题描述】:
假设我有一张桌子:
CREATE TABLE [tab] (
[name] varchar,
[order_by] int
)
表中有10行,所有行的order_by值都相同(假设为0)
如果我随后发出以下 SQL:
select * from [tab] order by [order_by]
行的顺序是什么?在这种情况下,什么因素决定了行顺序?
【问题讨论】:
-
@jinsungy:可能是,但也可能不是。这取决于数据库、存在哪些索引、表有多大等等......
-
提示:不要依赖未定义的行为。
-
谢谢,伙计们。每次发出 Select 时,我都会得到相同的订单,但我不知道 SQL Server 2008 在这种情况下如何决定订单。这不是您输入数据的顺序。很奇怪。
-
如果没有 ORDER BY 子句,则无法保证订单。除其他事项外,查询中的微小更改可能会更改顺序。这并不奇怪 - 这是意料之中的。
标签: sql sql-server