首页新闻找找看学习计划

多表连接后怎么还自动排序了?数据库

0
悬赏园豆:50 [待解决问题]

数据库中的多表连接后,怎么还自己排序了呢?而且我发现排序是依据连接条件来的
但是升序降序又是如何确定的呢?当有多个连接条件的时候,它是优先按照哪一个条件进行排序呢?这两点没搞清楚

Kerwin_chyl的主页 Kerwin_chyl | 初学一级 | 园豆:152
提问于:2020-02-27 16:07
< >
分享
所有回答(3)
0

这个是数据本身就是巧合还是真有排序,不得而知,要排序得指定排序字段吧,mysql是得指定,oracle就不知道了

风行天下12 | 园豆:3068 (老鸟四级) | 2020-02-27 16:36

排序我知道怎么去排,只是想知道为什么会有自动排序,它自动排序的规则又是怎样的
Oracle数据库

支持(0) 反对(0) Kerwin_chyl | 园豆:152 (初学一级) | 2020-02-27 22:52
0

应该是与聚集索引的排序方式有关

dudu | 园豆:39088 (高人七级) | 2020-02-27 17:30

高人,怎么个解释法呢?求解

支持(1) 反对(0) Kerwin_chyl | 园豆:152 (初学一级) | 2020-02-27 22:53

@Kerwin_chyl: 参考园子里的博文 数据库select的默认排序

oracle对无order by的语句返回的结果不进行排序,oracle此时的处理方式是按照数据的物理存储顺序来读取数据。因为rowid是每行数据的地址,所以有时候看起来会像是使用rowid排序的。但这个顺序是可能被打乱的,在表的数据被删除后,rowid会被新插入的数据占用。所以一个无order by查询结果看起来也可能是个杂乱无章的。

支持(0) 反对(0) dudu | 园豆:39088 (高人七级) | 2020-02-29 16:29
0

和索引有一定的关系

初夏的阳光丶 | 园豆:541 (小虾三级) | 2020-02-27 21:00

大佬,怎么个解释法呢?

支持(1) 反对(0) Kerwin_chyl | 园豆:152 (初学一级) | 2020-02-27 22:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册