“选择"是否总是按主键排序?

Does #39;Select#39; always order by primary key?(“选择是否总是按主键排序?)
本文介绍了“选择"是否总是按主键排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

针对所有 DBA 的一个基本简单问题.

A basic simple question for all of you DBA.

当我进行选择时,是否总是保证我的结果将按主键排序,还是应该使用order by"来指定它?

When I do a select, is it always guaranteed that my result will be ordered by the primary key, or should I specify it with an 'order by'?

我使用 Oracle 作为我的数据库.

I'm using Oracle as my DB.

推荐答案

不,如果您不使用order by",则无法保证任何顺序.事实上,您不能保证从一个查询到下一个查询的顺序是相同的.请记住,SQL 以基于集合的方式处理数据.现在,一个或另一个数据库实现可能碰巧以某种方式提供排序,但您永远不应该依赖它.

No, if you do not use "order by" you are not guaranteed any ordering whatsoever. In fact, you are not guaranteed that the ordering from one query to the next will be the same. Remember that SQL is dealing with data in a set based fashion. Now, one database implementation or another may happen to provide orderings in a certain way but you should never rely on that.

这篇关于“选择"是否总是按主键排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)