SQL Server中是否存在"按列默认顺序"?

Mic*_*tum 11 t-sql sql-server sql-server-2008

当我执行类似的查询时SELECT col1, col2, col3 FROM table,它会按主键升序排序.

我只是想知道是否有办法指定不同的列,比如ORDER BY CreatedDate DESC没有Order By子句?

我怀疑它(因为它会非常不直观,但无论如何只是想知道.

dkr*_*etz 24

不会.您看到的任何排序都是查询优化器策略的工件.关系理论禁止任何数据集的任何隐式排序.

您不能指望下次对同一查询使用相同的排序,因为优化程序策略取决于上下文和可能更改的数据.

  • 有趣的关系理论确实指出"一个集合是一个独特的,非重复的项目的无序集合". (3认同)

Otá*_*cio 12

甚至您所看到的行为(按照pk排序)也不受标准保证.您应始终指定要检索事物的顺序.

  • 但只有重要的事情可能不是真的. (3认同)