查询表emp中所有数据
select emp_id,rownum from emp
第一步,查询结果,rownum待定
emp_id rownum
1 ? 1
2 ? 2
3 ? 3
4 ?
第二步,现在假设用rownum < 3的条件来过滤
第一行,rownum初始分配为1,满足rownum <3的条件,然后rownum加1
第二行,rownum现在为2,满足 < 3的条件,然后rownum加1
.....
第二步,现在假设用 rownum > 2的条件来过滤
现在看第一行,rownum初始分配为1, 不满足rownum>2的条件,rownum不会加1
第二行,rownum还是1,同样不满足>2的条件
....
所以,最后的查询结果,一条数据也没有
例子,取第3行倒第5行当数据
select * from
(select t.*,rwonum rn
from emp t
where rownum < 5 )
where rn > 3