oracle学习笔记之分页

回顾mysql分页

用limit关键字

查询users表中前二条记录

select * from users limit 0,2

select * from users limit 2;

0表示第一条记录的索引号,索引号从0开始
2表示最多选取二个记录

查询出users前三条记录

select * from users limit 0,3

select * from users limit 3

查询出users第2条到第4条记录

select * from users limit 1,3;

回顾hibernate分页API

Query.setFirstResult(0);
Query.setMaxResult(3);    

什么是rownum,有何特点
1)rownum是oracle专用的关健字
2)rownum与表在一起,表亡它亡,表在它在
3)rownum在默认情况下,从表中是查不出来的
4)只有在select子句中,明确写出rownum才能显示出来
在这里插入图片描述
5)rownum是number类型,且唯一连续
6)rownum最小值是1,最大值与你的记录条数相同
7)rownum也能参与关系运算

  • rownum = 1 有值 只有1有结果
    在这里插入图片描述
  • rownum < 5 有值
  • rownum <=5 有值
  • rownum > 2 无值 不确定未来,所以每值
  • rownum >=2 无值
  • rownum <>2 有值 与 rownum < 2 相同 (<>是不等于号)
  • rownum = 2 无值
    8)基于rownum的特性,我们通常rownum只用于<或<=关系运算

显示emp表中3-8条记录(方式一:使用集合减运算)

select rownum "伪列",emp.* from emp where rownum<=8
minus
select rownum,emp.* from emp where rownum<=2;

在这里插入图片描述
显示emp表中3-8条记录(方式二:使用子查询,在from子句中使用,重点)

select xx.*
from (select rownum ids,emp.* from emp where rownum<=8) xx
where ids>=2;

注意:在子查询中的别名,不可加""引号

显示emp表中5-9条记录

select yy.*
from (select rownum ids,emp.* from emp where rownum<=9) yy
where ids>=5;

注意:在项目中,from后台可能有真实表名,也可能用子查询看作的表名,
同时真实表和子查询看作的表要做连接查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值