oracle的分页

oracle分页

  • 伪列:
    数据库物理表结构中不存在的列,但为了完成某些功能,oracle提供伪列
select rowid,rownum,t.* from dept t;
select rowid,rownum,t.* from emp t;
  • 分页的要素 pageSize 每页显示数量 pageNo 当前页码 totalCount总数量
  • mysql分页语法
 select * from tb limit 开始值,每页显示数量       
 select * from tb limit( pageNo-1*pageSize,pageSize
-- 开始值算法:(pageNo-1)*pageSize    结束值算法:pageNo*pageSize+1
  • oracle 分页语法
  • 方法1 语法:
 select * from (
   select rownum rn,t.* from tb t
 ) a where a.rn>(pageNo-1*pageSize  and a.rn < pageNo*pageSize+1
 --每页显示5条 
   select rownum rn,t.* from emp t;
select * from (
  select rownum rn,t.* from emp t
) a where a.rn>10  and a.rn < 16;
  • 方法2 语法:效率高,没有查询全部数据
select * from (
select rownum rn,t.* from tb t where rownum< pageNo*pageSize+1 
) a where a.rn> (pageNo-1*pageSize 
--每页显示5条 
select rownum rn,t.* from emp t;
select * from (
select rownum rn,t.* from emp t where rownum<16  
) a where a.rn> 10;
  • 错误写法
 select rownum rn,t.* from emp t;
select * from (
select rownum rn,t.* from emp t where rownum >5
) a where a.rn< 11;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值