mysql 和 oracle 实现分页原生 sql

好比使用 Java 开发的项目中操做数据库,那么如今和数据库交互的工做如今都用框架,好比  MyBatis 或者 Hibernate 可是他们不仍是经过 JDBC 的方式访问数据库,那么咱们就有必要根据数据库类型采起不一样的 sql 分页语句,对于 mysql 数据库,咱们能够采用 limit 语句进行分页,对于 oracle 数据库,咱们能够采用 rownum 的方式进行分页。mysql

那么在这里我就简单分享下原生的分页 sql :

mysql 的分页 sql 是:

select * from table limit m , n ;  其中 start 是页码,limit 是每页显示的条数。sql

limit 后的两个参数中,参数 m 是起始下标,它从 0 开始;参数 n 是返回的记录数。咱们须要分页的话指定这两个值便可。数据库

例:select * from test limit 3,5;--查询 test 表从 3 开始,5 条数据  oracle

oracle 的分页 sql 是:

select * from ( select rownum rn , u.* from users u) ua where ua.rn between 3 and 4;框架

u.* 是查询别名是 u 的表的全部列,rownum rn 就是将 rownum 起个别名 rn。学习

另外分享一篇博客:Oracle 中的 SQL 分页查询原理和方法详解 想了解 oracle 分页原理的能够看下。spa

 

水平有限,如有问题请留言交流!.net

互相学习,共同进步 :) 转载请注明出处谢谢!blog

相关文章
相关标签/搜索