数据库分页查询

今天在这里给大家分享一下oracle和mysql的两种分页查询。

oracle的分页

SELECT * FROM  
(  
SELECT A.*, ROWNUM RN  
FROM (SELECT * FROM TABLE_NAME) A  
WHERE ROWNUM <= 40  
)  
WHERE RN >= 21  

oracle的分页需要用到ROWNUM函数,因为oracle的查询中是不能使用小于的,需要创建伪列来进行查询。

mysql的分页

--语法:

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset

--举例:

select * from table limit 5; --返回前5行

select * from table limit 0,5; --同上,返回前5行

select * from table limit 5,10; --返回6-15行

mysql的分页主要用的书limit这个函数。当一个查询语句偏移量offset很大的时候,如select * from table limit 10000,10 , 最好不要直接使用limit,而是先获取到offset的id后,再直接使用limit size来获取数据。效果会好很多。
如:

select * From customers Where customer_id >=(
select customer_id From customers Order By customer_id limit 10000,1
) limit 10;

今天数据库分页查询分享到此结束;
原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe
95后前端妹子一枚,爱阅读,爱交友,将工作中遇到的问题记录在这里,希望给每一个看到的你能带来一点帮助。
欢迎留言交流

你可能感兴趣的:(数据库分页查询)