如果没有对数据库表的更新,那么无序查询中的行顺序(如select * from smth
)在不同的查询中(在相同且不相同的会话中)会有所不同吗?
答案 0 :(得分:3)
除非您在查询中包含特定的ORDER BY
子句,否则永远不应依赖查询返回的一个或多个行。
你可能会发现,即使没有ORDER BY
结果也会以相同的顺序显示,但是你无法保证这种情况会是这种情况并且依赖它会是愚蠢的,尤其是当ORDER BY
条款将会满足您的要求。
请参阅此问题:Default row ordering for select query in oracle
汤姆·基特(Tom Kyte)对唱片订购有很好的引用。
所以回答你的问题:是的,无序查询中行的顺序在查询和会话之间可能会有所不同,因为它依赖于您可能无法控制的多个因素(如果您不是DBA等)。 / p>
希望这会有所帮助......