社区
Oracle
帖子详情
ORACLE中SELECT语句没有加ORDER BY 情况下默认排序规则是什么?
Crob
2008-03-01 11:15:36
ORACLE中SELECT语句没有加ORDER BY 情况下默认排序规则是什么?
我发现貌似是以主键来排,如果是字符串以该字符串字段首字母的ASCII,是不是这样?
...全文
10936
35
打赏
收藏
ORACLE中SELECT语句没有加ORDER BY 情况下默认排序规则是什么?
ORACLE中SELECT语句没有加ORDER BY 情况下默认排序规则是什么? 我发现貌似是以主键来排,如果是字符串以该字符串字段首字母的ASCII,是不是这样?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
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 是自动随行生成的
knowledge_Is_Life
2008-05-01
打赏
举报
回复
这个简单啊,网上搜一下就得到答案了.
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
打赏
举报
回复
学习
加载更多回复(15)
oracle
无
order
by ,
默认
排序
问题
Oracle
会根据具体的数据块的存储返回记录.
oracle
数据库是
没有
默认
排序
的 要
排序
必须
加
上
order
by 因为
oracle
是按块进行读取数据的 如果数据按顺序存储,则可能使读取出来的数据是按顺序的,给用户误解为
默认
排序
oracle
没有
进行任何
排序
操作,rowid表示的是数据存放的数据块内部地址,如果
没有
要求
排序
,
oracle
会顺序的从数据块
中
读取符合条件的数据返回到客
oracle
查询的
默认
排序
,
oracle
默认
排序
及认知
Oracle
对无
order
by的
语句
返回的结果不进行
排序
,
oracle
此时的处理方式是按照数据的物理存储顺序来读取数据。因为rowid是每行数据的地址,所以有时候看起来会像是使用rowid
排序
的。但这个顺序是可能被打乱的,在表的数据被删除后,rowid会被新插入的数据占用。所以一个无
order
by查询结果看起来也可能是个杂乱无章的。
oracle
的数据库实现就一个原则,怎么快怎么效率高就怎么来。大多...
oracle
改变
默认
排序
规则
,数据库查询时使用 group by(不
加
order
by)后返回的结果
默认
是按怎样的
规则
排序
的?...
我知道要让输出结果有序
加
个
order
by 就行,但这里不考虑这一点,就是单纯的想知道 group by 后的输出
默认
是怎么确定顺序的。我这里在
oracle
11g 上进行测试,拿它
默认
的 scott 用户下的 emp 表举例,表
中
的 EMPNO 是主键。不
加
group by直接使用
select
empno,ename from emp;,输出结果如下所示(单独取 EMPNO 或单独取 EN...
mysql
select
默认
排序
_数据库
select
的
默认
排序
oracle
对无
order
by的
语句
返回的结果不进行
排序
,
oracle
此时的处理方式是按照数据的物理存储顺序来读取数据。因为rowid是每行数据的地址,所以有时候看起来会像是使用rowid
排序
的。但这个顺序是可能被打乱的,在表的数据被删除后,rowid会被新插入的数据占用。所以一个无
order
by查询结果看起来也可能是个杂乱无章的。
Select
语句
如果不
加
“
Order
By”, MySQL...
oracle
中
如何更改
order
by的
默认
排序
?
oracle
中
如何更改
order
by的
默认
排序
? 直接看问题:
select
* from scott.emp p
order
by p.job; 运行结果为: 通过
order
by 出来的
排序
结果以此为:ANALYST、CLERK、MANAGER、PRESIDENT、SALESMAN... 需求: 现要求
排序
结果为MANAGER为第一个显示、CLERK为第二
Oracle
17,140
社区成员
55,259
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章