数据库中的多表连接后,怎么还自己排序了呢?而且我发现排序是依据连接条件来的
但是升序降序又是如何确定的呢?当有多个连接条件的时候,它是优先按照哪一个条件进行排序呢?这两点没搞清楚
这个是数据本身就是巧合还是真有排序,不得而知,要排序得指定排序字段吧,mysql是得指定,oracle就不知道了
排序我知道怎么去排,只是想知道为什么会有自动排序,它自动排序的规则又是怎样的
Oracle数据库
应该是与聚集索引的排序方式有关
高人,怎么个解释法呢?求解
@Kerwin_chyl: 参考园子里的博文 数据库select的默认排序:
oracle对无order by的语句返回的结果不进行排序,oracle此时的处理方式是按照数据的物理存储顺序来读取数据。因为rowid是每行数据的地址,所以有时候看起来会像是使用rowid排序的。但这个顺序是可能被打乱的,在表的数据被删除后,rowid会被新插入的数据占用。所以一个无order by查询结果看起来也可能是个杂乱无章的。
和索引有一定的关系
大佬,怎么个解释法呢?
想知道有解释了没