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