假设您有以下表格和数据:
create table t ( k int, v int, index k(k) ) engine=memory; insert into t (k, v) values (10, 1), (10, 2), (10, 3);
select * from t where k = 10无子句发出时order by,MySQL默认如何对记录进行排序?
select * from t where k = 10
order by
在 SQL 世界中,顺序不是一组数据的固有属性。因此,除非您使用 ORDER BY 子句查询您的数据,否则您的 RDBMS 无法保证您的数据将以特定顺序返回——甚至以一致的顺序返回。
所以,回答你的问题:
ORDER BY
这是所有 SQL 的属性,而不仅仅是 MySQL。SQL-92 规范中的相关文本是:
如果未指定 ,则 Q 的行的顺序取决于实现。
游标规范中有类似的文本位。