我观察到 rownum 可以按如下方式使用:
1) select * from emp where rownum<5;
2) select * from emp where rownum<=5;
3) select * from emp where rownum=1;
所有这些查询都返回预期的输出。假设表 emp 有 7 行,那么第一个查询返回 4 行,第二个返回 5 行,第三个返回 1 行。但是当我尝试使用类似的东西时:
4) select * from emp where rownum=5;
5) select * from emp where rownum>5;
6) select * from emp where rownum>=5;
7) select * from emp where rownum between 5 and 10;
在所有这些情况下,它返回 0 行。为什么会这样?这有什么具体原因吗?