如果我执行 a select * from mytable
,记录将按什么顺序显示?它会占用第一列还是按某种元数据排序?
我正在使用 Oracle 数据库。
没有默认的“排序”顺序。关系表中的行没有排序。
获得特定订单的唯一(真的:唯一)方法是使用ORDER BY
无论您在运行SELECT
without时看到的任何顺序ORDER BY
都是纯巧合的,并且可以随着下一次执行而改变。
由于各种原因,订单可能会发生变化:
这是一个小 SQLFiddle,向您展示“顺序”如何更改:http ://sqlfiddle.com/#!4/19d14/2
请注意,最初的“订单”甚至与插入订单不同!
通常,除非指定,否则没有排序顺序。
这可能与存储、索引、索引存储、索引选择、执行计划、数据库引擎实现不同,就像我感觉的那样。
如您所见,您要么指定排序顺序,要么不指望它。