为什么给rownum添加上限可以查出来记录,而添加下限就查不出来了呢?
SELECT rownum,e.* FROM emp e WHERE ROWNUM<8 --能查出来
SELECT rownum,e.* FROM emp e WHERE ROWNUM>2 --查不出来
SELECT rownum,e.* FROM emp e WHERE ROWNUM between 2 and 8 --查不出来
为什么给rownum添加上限可以查出来记录,而添加下限就查不出来了呢?
SELECT rownum,e.* FROM emp e WHERE ROWNUM<8 --能查出来
SELECT rownum,e.* FROM emp e WHERE ROWNUM>2 --查不出来
SELECT rownum,e.* FROM emp e WHERE ROWNUM between 2 and 8 --查不出来
select t.rn ,t.* from (select rownum rn, e.* from emp e ) t where t.rn >2;
需要嵌套一层,否则的话 如果是rownum>2 rownum是每条记录的位置, >2的话删选出来的每条记录永远都是rownum=1,所以搜不出记录