试验:select rownum,id from test
ROWNUM ID
1 4
2 2
3 5
4 3
5 9
6 0
select * select rownum,id from test order by id
ROWNUM ID
6 0
2 2
4 3
1 4
3 5
5 9
可以看出oracle读取数据时按照物理顺序将数据读取到排序区中,然后再进行排序,rownum的确认是在排序之前 ,所以rownum的顺序可能会乱,因为它在排序前就标记好了。 同时,rownum是读出一条标记一条的,select * from rownum>n(n<>0)是搜不出数据的。
ROWNUM ID
1 4
2 2
3 5
4 3
5 9
6 0
select * select rownum,id from test order by id
ROWNUM ID
6 0
2 2
4 3
1 4
3 5
5 9
可以看出oracle读取数据时按照物理顺序将数据读取到排序区中,然后再进行排序,rownum的确认是在排序之前 ,所以rownum的顺序可能会乱,因为它在排序前就标记好了。 同时,rownum是读出一条标记一条的,select * from rownum>n(n<>0)是搜不出数据的。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15017002/viewspace-442352/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15017002/viewspace-442352/