结果集中的记录顺序

时间:2011-10-26 09:30:13

标签: oracle

如果没有对数据库表的更新,那么无序查询中的行顺序(如select * from smth)在不同的查询中(在相同且不相同的会话中)会有所不同吗?

1 个答案:

答案 0 :(得分:3)

除非您在查询中包含特定的ORDER BY子句,否则永远不应依赖查询返回的一个或多个行。

你可能会发现,即使没有ORDER BY结果也会以相同的顺序显示,但是你无法保证这种情况会是这种情况并且依赖它会是愚蠢的,尤其是当ORDER BY条款将会满足您的要求。

请参阅此问题:Default row ordering for select query in oracle

汤姆·基特(Tom Kyte)对唱片订购有很好的引用。

所以回答你的问题:是的,无序查询中行的顺序在查询和会话之间可能会有所不同,因为它依赖于您可能无法控制的多个因素(如果您不是DBA等)。 / p>

希望这会有所帮助......