导航
  • 主页
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流
  • 问答

ORACLE中SELECT语句没有加ORDER BY 情况下默认排序规则是什么?

Crob 2008-03-01 11:15:36
ORACLE中SELECT语句没有加ORDER BY 情况下默认排序规则是什么?

我发现貌似是以主键来排,如果是字符串以该字符串字段首字母的ASCII,是不是这样?
...全文
9846 点赞 收藏 35
写回复
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
yerui627 2011-12-06
学生了
回复
黄小飞 2010-06-13
学习了……
回复
wdx0205111 2009-12-04
rowid
回复
sabin541 2009-01-19
24楼的按物理地址吧
回复
leifu0000 2009-01-10
对堆表没有order by的查询,返回有可能是无序的。oracle不保证按你插入记录的顺序返回记录。
回复
choicefree 2009-01-04
请解释“物理存放顺序“是什么意思?本人认为应该就是rowid
回复
粉菜学长 2008-05-01
一般而言
表是堆表
所以是无序的
他是按照也即物理存放顺序来读取的
rowid 是自动随行生成的
回复
这个简单啊,网上搜一下就得到答案了.
回复
meiZiNick 2008-05-01
没遇到过这种情况.
回复
UltraBejing 2008-04-30
不会,帮顶
回复
iihero 2008-03-19
不带orderby,基本上就是按照rowid,也即物理存放顺序来读取的。
数据库一般不会吃饱着撑的,取完结果再来一排序。

给你看一看一个简单的示例:
SQL> select rowid, t1.* from t1 order by rowid;

ROWID ID NAME
------------------ ---------- ----------
AAAHmwAABAAAM6KAAA 1 a
AAAHmwAABAAAM6KAAB 1 b
AAAHmwAABAAAM6KAAD 2 d
AAAHmwAABAAAM6KAAE 2 e
AAAHmwAABAAAM6KAAF 1 c

SQL> select * from t1;

ID NAME
---------- ----------
1 a
1 b
2 d
2 e
1 c
回复
tanyko 2008-03-19
按物理存储的顺序。
回复
Eric_1999 2008-03-19
rowid排序
回复
chenyunfan 2008-03-19
Mark
回复
a95470000 2008-03-12
學習
回复
zlei_509 2008-03-12

ORDER BY 升序 和 ORDER BY ASC 一樣
ORDER BY DESC 降序
回复
superzyxun 2008-03-12
查询的时候检索出RowID会发现,确实是按照RowID来排序的
回复
zhouziqiang 2008-03-12
按ROWID 来排序
回复
chensi05 2008-03-10
个人感觉按照数据进入表的时间排序的,不知道说的对否
回复
sohome 2008-03-09
学习
回复
发动态
发帖子
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
社区公告
暂无公告