分页查询 Oracle 和 mySql的不同:
2011-08-11 21:32
459 查看
Oracle 分页查询语句:
注意:M=第X页 * 每页显示Y条数据【pageNo *pageSize】
N=(第X页 – 1) * 每页显示Y条数据【(pageNo – 1)* pageSize】
MySql 分页查询语句:
MySql优化查询语句(仅适用于order by id):
注意:M=(第X页-1)*每页显示Y条数据【(pageNo – 1) * pageSize】
N= 每页显示Y条数据【pageSize】
以上分页查询的算法如下:
Oracle:每页显示Y条数据,要取得第X页数据,那么先取出前 X*Y=K 条数据,在这K条数据中再取出最后 Y 条数据。
MySql:每页显示Y条数据,要取得第X页数据,那么先取出前(X-1)* Y = K 条数据,再从 K 的基础上再取出 Y 条数据。
Oracle中没有分页查询的关键字,所以用 rownum 关键字来获取查询到的记录条数,通过对记录条数的控制来得到结果集。
MySql中没有 rownum 关键字,而有LIMIT 关键字。 LIMIT m,n的意思是:先取得m 条记录,在 m 的基础上 再取 n 条记录。
select t.* from ( select rownum rn,t.* from ( select * from t_user ) t where rownum <= M ) t where rn > N
注意:M=第X页 * 每页显示Y条数据【pageNo *pageSize】
N=(第X页 – 1) * 每页显示Y条数据【(pageNo – 1)* pageSize】
MySql 分页查询语句:
SELECT * FROM t_user LIMIT M,N
MySql优化查询语句(仅适用于order by id):
SELECT * FROM t_user WHERE id >=( SELECT id FROM t_user ORDER BY id LIMIT M,1 )LIMIT N
注意:M=(第X页-1)*每页显示Y条数据【(pageNo – 1) * pageSize】
N= 每页显示Y条数据【pageSize】
以上分页查询的算法如下:
Oracle:每页显示Y条数据,要取得第X页数据,那么先取出前 X*Y=K 条数据,在这K条数据中再取出最后 Y 条数据。
MySql:每页显示Y条数据,要取得第X页数据,那么先取出前(X-1)* Y = K 条数据,再从 K 的基础上再取出 Y 条数据。
Oracle中没有分页查询的关键字,所以用 rownum 关键字来获取查询到的记录条数,通过对记录条数的控制来得到结果集。
MySql中没有 rownum 关键字,而有LIMIT 关键字。 LIMIT m,n的意思是:先取得m 条记录,在 m 的基础上 再取 n 条记录。
相关文章推荐
- Oracle、MySql、SQLServer 数据分页查询
- 数据库MySQL、Oracle、SQLServer、db2分页查询语句
- Oracle与MySQL的分页查询sql语句格式
- oracle与mysql分页查询语句sql
- 各种数据库(MYSQL、Oracle、DB2、SQL Server、PostgreSQL)的分页查询语句
- mysql 和oracle分页查询
- mysql sql server oracle 分页查询
- Oracle、MySql、SQLServer 数据分页查询
- oracle 与mysql分页查询
- MySQL和Oracle分页查询实现方式
- SQL server、MySQL、Oracle分页查询SQL语句
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- Oracle,mysql分页查询,Hibernate,iBatis的分页查询
- oracle,mysql,SqlServer三种数据库的分页查询总结
- Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
- SQLSERVER,ORACLE,MYSQL高效分页查询
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- Oracle、MySql、SQLServer 数据库中分页查询中的关键字总结
- MySQL和Oracle的分页查询