Java面试:mysql与oracle分页的有什么区别
相信许多人在日常工作中都会用到分页,比如日常查询数据量太大,而我们只需要其中的几条即可,所以这时就会去使用分页去查询,今天主要就mysql与oracle的分页进行分析。
- MySQL 分页语句简单的写法:
select * from table limit m,n; // m = (startPage-1)*pageSize, n = pageSize
- Oracle 分页语句简单的写法:
select * from table where rownum <= a;
从上面的sql中我们可以看出两者的写法区别,首先mysql分页用limit,而oracle是用rownum,当然我上面所写的sql仅仅只能满足于随机拿取几条数据的情况,下面我们开始今天的正题,如何两种数据库的分页。
- 首先我们来讲解mysql的写法
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
LIMIT 可以接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目,初始记录行的偏移量是 0(而不是 1)。
- 示例
select * from book limit 2,5; // 从第三条数据开始拿取5条数据
select* from book limit 5; // 获取前5行数据
- 接下来看看oracle的分页写法:
select * from book where rownum= count; //count 代表需要获取的行数