首页 > 数据库 > mysql教程 > ROWNUM 在 Oracle 分页查询中如何工作?

ROWNUM 在 Oracle 分页查询中如何工作?

Patricia Arquette
发布: 2025-01-19 06:47:09
原创
344 人浏览过

How Does ROWNUM Work in Oracle Pagination Queries?

了解 Oracle 分页中的 ROWNUM

问题 1:为什么 ROWNUM 范围的结果为空?

查询Select * From Person Where rownum > 100 and rownum < 200返回一个空结果集,因为ROWNUM在检索行时将数字分配给行WHERE 子句过滤 after ROWNUM 已分配的数字。 ROWNUM 大于 100 的行仅在前 100 行已被处理并分配 ROWNUM 值之后才被视为。

问题 2:Oracle 12c 中简化的 ROWNUM 查询

Oracle 12c 的 Top-n Row Limiting 功能提供了一种更直接的分页方法。 语法 Select ... FROM ... WHERE rownum BETWEEN lowerBound AND upperBound 直接选择指定范围内的行,无需子查询。

问题 3:省略 ROWNUM 列

为了避免显示 ROWNUM 列,请在外部查询的 SELECT 列表中显式列出所需的列。或者,创建一个视图来封装查询或使用 SQL*Plus 的 NOPRINT 命令来抑制不需要的输出。

问题4:用ROWNUM实现精确分页

使用 ROWNUM 进行准确分页取决于正确的查询构造。 至关重要的是,使用唯一标识符(主键)对结果进行排序,以确保跨页面的行选择一致。 虽然按 ROWNUM 排序本身不会否定 FIRST_ROWS(N),但使用唯一标识符可以保证检索到预期的行。

以上是ROWNUM 在 Oracle 分页查询中如何工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板