数据库条目未按预期顺序显示

时间:2018-09-25 12:16:02

标签: sql sql-order-by sybase

我的Sybase数据库中具有以下表结构: myTable {myId1 ID, myId2 ID, myString String}

主键是myId1,我有两个索引index1 {myTable.myId1} ASCindex2 {myTable.myId2} ASC

我的表包含三个条目:(1,8,'first line')(2,8,'second line')(3,8,'third line')

为什么我执行

select * 
from myTable`

我知道

3,8,'third line'
1,8,'first line'
2,8,'second line'

代替

1,8,'first line'
2,8,'second line'
3,8,'third line'

FYI: select * from myTable order by myId1 ASC 返回所需的输出。

更新:由于select * from myTable的结果是随机的,那么为什么每次执行查询时总是得到完全相同的顺序?

2 个答案:

答案 0 :(得分:1)

没有数据库以任何顺序返回值,除非您明确 使用order by进行订购

like order by column asc or desc
结果

select * from myTable order by myId1 ASC会返回有序数据,因为您以升序明确调用了该数据

并且第一个查询select * from myTable不会返回有序,因为在这里您没有使用任何显式的

答案 1 :(得分:1)

您应将表中的数据视为未排序的集合。