我做了一张像
的桌子 record
----------+
1 | one |
----------+
2 | two |
----------+
3 | three |
----------+
4 | four |
----------+
5 | five |
----------+
没有ID列,这些只是我在DBVisualizer中每行旁边看到的行号。我按顺序1,2,3,4,5添加了行。这是"
SELECT
*
FROM
sch.test_table limit 1;
肯定会得到one
,即以"最老的"开头。记录?或者是否会在大型数据集中发生变化?
答案 0 :(得分:2)
不,根据SQL规范,订单在不使用order by
时是不确定的。您正在处理一组数据,并且未订购集。此外,集合的大小也无关紧要。
如果未给出ORDER BY,则按行的顺序返回行 系统发现生产速度最快。
这意味着行可能会以预期的顺序返回,或者它们可能没有 - 没有任何保证。
最重要的是,如果您想要确定性结果,则必须使用order by
。