我的Sybase数据库中具有以下表结构:
myTable {myId1 ID, myId2 ID, myString String}
主键是myId1
,我有两个索引index1 {myTable.myId1} ASC
和index2 {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
的结果是随机的,那么为什么每次执行查询时总是得到完全相同的顺序?
答案 0 :(得分:1)
没有数据库以任何顺序返回值,除非您明确
使用order by
进行订购
like order by column asc or desc
结果
select * from myTable order by myId1 ASC
会返回有序数据,因为您以升序明确调用了该数据
并且第一个查询select * from myTable
不会返回有序,因为在这里您没有使用任何显式的
答案 1 :(得分:1)
您应将表中的数据视为未排序的集合。