怎么在oracle中使用rownum实现分页?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

rownum是Oracle数据库中的一个特有关键字,返回的是一个数字代表记录的行号。

基础知识:rownum只能做<或者<=的条件查询,如果要rownum进行51到100这样的范围判断,需要先查询出每一行的rownum,再用那个序号做判断

获取51到100的数据

三种分页的写法:

1.使用minus,原理就是查询出前100行的数据 减去 查询出前50行的数据

select*fromDATA_TABLE_SQLwhererownum<=100minusselect*fromDATAT_ABLE_SQLwhererownum<=50

2.查询出所有数据的rownum,然后再选择50到100的数据(不推荐)

select*from(selectt.*,rownumnumfromDATA_TABLE_SQLt)wherenum<=100andnum>50

3.限定范围100条数据,并查询出这100条的rownum,然后再选择50到100的数据

select*from(selectt.*,rownumnumfromDATA_TABLE_SQLtwhererownum<=100)wherenum>50

下面给大家拓展两个分页查询语句:

1:单表查询

SELECT*FROM(SELECTt.*,ROWNUMrFROMTABLEtWHEREROWNUM<=pageNumber*pageSize)WHEREr>(pageNumber)*pageSize

2:两张表联查

SELECT*FROM(SELECTROWNUMRN,XX.*FROM(SELECT表名.字段名,表名.字段名,表名.字段名...FROMTABLE1t1,TABLE2t2WHEREt1.字段=t2.字段)XXWHEREROWNUM<=pageSize*pageNumber)WHERERN>(pageNumber-1)*pageSize

看完上述内容,你们掌握怎么在oracle中使用rownum实现分页的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!