SQL2000:从syscolumns中选择时的默认列顺序

SQL2000:从syscolumns中选择时的默认列顺序,sql,database,sql-server-2000,sql-order-by,Sql,Database,Sql Server 2000,Sql Order By,我正在运行以下查询: select syscolumns.name from syscolumns,sysobjects where syscolumns.id = sysobjects.id and sysobjects.name='TABLE_NAME' 在一个系统中,列按字母顺序返回,在另一个系统中,列按添加到表中的顺序返回,这是什么原因 我知道我不应该依赖默认顺序,我应该使用orderby,但我想知道为什么会这样。整理 谢谢 没有您可以“依赖”的默认顺序,除非您明确指定一个顺序

我正在运行以下查询:

select syscolumns.name 
from syscolumns,sysobjects
where 
syscolumns.id = sysobjects.id and 
sysobjects.name='TABLE_NAME'
在一个系统中,列按字母顺序返回,在另一个系统中,列按添加到表中的顺序返回,这是什么原因

我知道我不应该依赖默认顺序,我应该使用orderby,但我想知道为什么会这样。整理


谢谢

没有您可以“依赖”的默认顺序,除非您明确指定一个
顺序

你看到的是预期的行为;基于任意数量的影响因素,返回的行的顺序可能因服务器而异

这可能和SQLServer从磁盘读取的页面的排列有关,或者与许多其他因素有关


简言之:如果您需要订单,请通过
按订单
请求-这就是真正需要知道的。

没有默认订单-您看到了预期的结果-基于任何数量的影响因素,返回行的顺序可能因情况而异。这可能与SQL Server从中读取数据的页面的排列有关,或者与许多其他因素有关-如果您需要订购,请通过
订购-这就是所需的全部内容know@marc_s:你应该把这当作回答谢谢。我明白,我只是不明白为什么某些特定的机器总是按字母顺序返回结果。