一尘不染

带“选择*”的默认SQL结果排序顺序是什么?

sql

如果我执行select * from mytable,将以什么顺序显示记录?它会采用第一列还是通过某种元数据对其进行排序?

我正在使用Oracle数据库。


阅读 148

收藏
2021-03-10

共1个答案

一尘不染

NO 默认的“排序”命令。关系表 中的未排序

获取特定订单的唯一(真正的:唯一)方法是使用 ORDER BY

运行SELECT无时您看到的任何顺序ORDER BY都是 纯重合的, 并且可以在下一次执行时更改。

订单可能由于多种原因而发生变化:

  • 其他会话运行相同的语句
  • 表格已更新
  • 执行计划改变

这是一个小的SQLFiddle,它向您显示“顺序”如何更改:http
://sqlfiddle.com/#!4/19d14/2

请注意,初始“顺序”甚至与插入顺序也不相同!

2021-03-10