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的条件
时间: 2024-10-14 11:51:30