1 -- 1.rownum是oracle预处理字段,默认标序是1,只有记录集已经满足条件后才会进行后续编号,否则将一直为1。 2 -- 2.~ 3 4 select * from ( select e.*,rownum rn -- 起个别名,主要是给外层用的 5 from emp e 6 where rownum <=10) -- 可使用 rn 或 rownum ,但 默认标序1 必须 在条件范围内,否则内层无数据,外层也无数据。 7 where rn >=4 -- 必须使用rn,不能使用rownum。若使用rownum,则默认为外层的rownum发生情况1(无数据)。 8 9 ------------------------------------------------------------------------------------- 10 11 select * from ( 12 select e.*, 13 row_number() over(order by e.empno) rn 14 from emp e 15 ) where rn between 4 and 10