oracle和mysql的分页

文章讲述了在Oracle和MySQL数据库中进行分页查询的不同方法。在Oracle中,使用ROWNUM伪列配合子查询实现分页,需要注意ROWNUM不能与>或>=操作符一起使用。而在MySQL中,利用LIMIT关键字可以直接指定查询的开始位置和数量,支持OFFSET进行偏移量设置。
摘要由CSDN通过智能技术生成

oracle的分页:rownum

注意::
对 ROWNUM 只能使用 < 或 <=, 用 =、 >、 >= 都不能返回任何数据。

rownum是对结果集的编序排列,始终是从1开始,所以rownum直接使用时不允许使用>、>=
所以当查询中间部分的信息时,需要将rownum变成一个真实的列,不再是一个伪列

rownum “伪列”——数据表本身并没有这样的列,是 oracle 数据库为每个数据表 “加上的” 列。
可以标识行号,默认情况下 rownum 按主索引来排序. 若没有主索引则自然排序。
rownum表示一条记录的行数,如果需要分页,至少有两层查询,内层查询符合条件的全部rownum,分页信息在外层控制。

--查找employees表中工资排名前十的员工信息
select rownum,employee_id,last_name,salary
from(
    select employee_id,last_name,salary
    from employees
    order by salary desc
    )
where rownum <= 10

mysql的分页:limit

LIMIT n:从第0+1(m=0)条开始,取n条数据,是LIMIT 0,n的缩写

SELECT device_id
FROM user_profile
LIMIT 2 

LIMIT m,n:从第m+1条开始,取n条数据

SELECT device_id
FROM user_profile
LIMIT 0,2

LIMIT n OFFSET m:从第m+1条开始,取n条数据

SELECT device_id
FROM user_profile
LIMIT 2 OFFSET 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值