sql分页查询


前言

分页查询作为数据库必不可少的功能,每家数据库厂商都有各自的标准,下面仅记录目前主流数据库。


一、mysql分页

mysql分页使用limit关键字,下面我们做了1000条测试数据,id主键列为自增列;

在这里插入图片描述

1. limit 10

#limit只有一个参数时,参数代表数据量,下面为从第一条开始,查询10条记录
SELECT id FROM `t_student_info` order by id+0 limit 10 ;

在这里插入图片描述

2. limit 10,20

#limit两个参数时,参数1代表数据起始位置,参数2代表数据量,下面为从第10条开始,查询20条记录
SELECT id FROM `t_student_info` order by id+0 limit 10,20;

在这里插入图片描述

二、oracle分页

相同的表oracle我们也做了1000条测试数据来测试rownum分页,id主键列为自增列;

在这里插入图片描述

1. ROWNUM

#ROWNUM <= 10,查找行号小于且等于10的记录
SELECT id FROM (SELECT id FROM T_STUDENT_INFO ORDER BY id+0) A WHERE ROWNUM <= 10;

在这里插入图片描述

#10<ROWNUM <= 30,查找行号大于10且小于等于30的记录
SELECT id FROM (SELECT id,ROWNUM rn FROM (SELECT id FROM T_STUDENT_INFO ORDER BY id+0) A WHERE ROWNUM <= 30)where rn>10;

在这里插入图片描述

小结:ROWNUM写起来比limit麻烦点,能满足相同的效果,分页查询基本上用于小范围数据量查询,分页每页数据量大多在10、20、25、50、100;超过100条的很少,除非是很特别的业务。

2. OFFSET和FETCH

OFFSET和FETCH适用于分页数据量大的查询,和limit不能说一模一样吧,只能说用起来很像;

#OFFSET偏移量为10行,获取20行数据记录;
SELECT id FROM T_STUDENT_INFO ORDER BY id+0 OFFSET 10 ROWS FETCH NEXT 20 ROWS ONLY;

在这里插入图片描述

三、PostgreSQL

PostgreSQL分页也是使用limit,用法和mysql差不多;
我本地没有环境,需要贴几张大哥的图,大哥别打我呀!

在这里插入图片描述

1.LIMIT 4

#limit只有一个参数时,参数代表数据量,下面为从第一条开始,查询4条记录
SELECT * FROM COMPANY LIMIT 4;

在这里插入图片描述

2.LIMIT 3 OFFSET 2

#偏移量为2条记录,从id为3的记录开始,查询3条记录
SELECT * FROM COMPANY LIMIT 3 OFFSET 2;

在这里插入图片描述


总结

回到顶部

国产数据库近几年在国内的使用率逐步提高,以后有机会接触感觉有意思也会来写博文,希望国产越来越好吧!

[java分页看这里](http://t.csdnimg.cn/9ds0K)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值