如果我执行select * from mytable
,记录会以哪种顺序显示?它会采用第一列还是通过某种元数据对其进行排序?
我正在使用Oracle数据库。
答案 0 :(得分:11)
否 默认“排序”顺序。关系表中的行未排序。
获得特定订单的唯一(真正:唯一)方法是使用ORDER BY
在没有SELECT
的情况下运行ORDER BY
时,您看到的顺序是纯粹重合,并且可以在下次执行时更改。
由于种种原因,订单可能会发生变化:
这是一个小SQLFiddle,它向您展示“订单”如何变化:http://sqlfiddle.com/#!4/19d14/2
请注意,初始“订单”与插入订单甚至不同!
答案 1 :(得分:1)
通常,除非指定,否则 NO 排序顺序。
这可能与存储,索引,索引存储,索引选择,执行计划,数据库引擎实现有所不同,就像我感觉一样。
正如您所看到的,您要么指定排序顺序,要么不依赖它。