温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle系列:(16)分页

发布时间:2020-06-30 21:22:13 来源:网络 阅读:309 作者:lsieun 栏目:关系型数据库


回顾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    有值

   * 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表中2-8条记录(方式二:使用子查询,在from子句中使用,重点)

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

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

Oracle系列:(16)分页


显示emp表中5-9条记录

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

Oracle系列:(16)分页

注意:在项目中,from后面可能有真实表名,也可能用子查询看作的表名,

     同时真实表和子查询看作的表要做连接查询





向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI