oracle中的rownum

1.oracle存在rownum关键字,它是一个伪列(系统分配在结果集上的一个特殊列)  

SELECT * FROM  oracleTable WHERE ROWNUM=1

上面这条语句是能够查询出第一行的记录的。

SELECT * FROM oracleTable WHERE ROWNUM>1

上面这条语句是查询不到任何数据的:

总结如下:

因为rownum总是从1开始,比如一个结果集的rownum序号是1,2,3....N,当你想查询rownum>1的记录时,系统判断第一条记录不满足,就会排除第一条记录,系统会把第二条记录的rownum置为1( 之前是2)。接着判断第二条记录是否rownum>1,结果发现不满足条件(因为第二条记录的rownum在之前被置为1了),接着排除第二条,系统把第三条记录的rownum置为1....

所以永远都不会满足rownum>1的条件

 

oracle中的rownum

上一篇:对SqlHelper的理解


下一篇:SQL窗口函數一例