1 分页查询

不能对 rownum 使用 >(大于或等于 1 的数值)、>=(大于 1 的数值)=(不等于 1 的数值),否则无结果。所以直接用 rownum 的时候只能从 1 开始,比如 rownum >1 没有记录,因为第一条不满足去掉的话,第二条的 rownum 又成了 1,所以永远没有满足条件的记录。

--正确
select * from employees where rownum >= 1;
--错误
select * from employees where rownum >1 or rownum >=2 or rownum =0 or rownum <1;

2 不从头开始查询

方法一

select * from (
    select rownum as rnum,e.* 
    from employees e 
    where rownum <= 4
) 
where rnum >= 2 ;

-方法二

select * from (
    select rownum as rnum,e.*
    from employees e
)
where rnum between 2 and 4 ;

Related Posts