详解oracle分页查询的基础原理
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本文从数据查询原理,以及分页实现的方法详细分析了oracle分页查询的基础知识,以下是本文内容:原因一oracle默认为每个表生成rowmun,rowid字段,这些字段我们称之为伪列1 创建测试表CR
千家信息网最后更新 2025年01月22日详解oracle分页查询的基础原理
本文从数据查询原理,以及分页实现的方法详细分析了oracle分页查询的基础知识,以下是本文内容:
原因一
oracle默认为每个表生成rowmun,rowid字段,这些字段我们称之为伪列
1 创建测试表
CREATE TABLE TEST(ID NUMBER,NAME VARCHAR2(20))
2 插入测试数据
INSERT INTO TEST VALUES (1,'张三');INSERT INTO TEST VALUES (2,'李四');INSERT INTO TEST VALUES (3,'王五');INSERT INTO TEST VALUES (4,'赵六');INSERT INTO TEST VALUES (5,'郑七');INSERT INTO TEST VALUES (6,'胡八');INSERT INTO TEST VALUES (7,'刘九');
3 查看表字段,证实自带的字段
select rowid,rownum,id,name from TEST;
4 rowid一般用不到,Oracle内部用来存储行的物理位置,和分页相关的就是rownum,也就是行号
二
1 查询小于5的行,查询出四条结果
select rowid,rownum,id,name from test where rownum <5;
2 查询大于2小于5的行
select rownum,id,name from test where rownum>2 and rownum <5;
发现什么也没查出来,什么原因呢?,
rownum有如下特点:
1 ROWNUM只适用于小于或小于等于,如果进行等于判断,那么只能等于1;
2 ROWNUM是oracle系统顺序分配的行的编号,返回的第一行分配的是1,第二行是2,依此类推;
3 ROWNUM总是从1开始
4 第一条数据行号为1,不符合>2的条件,则第一行被去掉,之前的第二行变为新的第一行,如此下去,一直到最后一行,条件始终没法满足,所以就一条数据也查不出来。
3 正确写法:因为>用不了,将行号用内层查询查询出来当做一个结果集,在外层用内层结果集进行比较即可
select rownum,id,name from( select rownum rn, u.* from test u where rownum<5) unwhere un.rn>2
4 如果进行分页的话,比如每页三行,要查询第二页,则相当于查4,5,6条,起始行4= (页码-1)*每页长度+1,结束行6=页码*每页长度
select rownum,id,name from ( select rownum rn , t.* from test t where rownum <=6) nwhere n.rn>=4
5 同样的可以把4中查询改为最常见的三层结构
select rownum,id,name from ( select rownum rn, n.* from ( select * from test --最内层循环该怎么写怎么写 ) n where rownum <=6 --小于限制写在第二层 ) where rn>=4
查询
一行
字段
数据
内层
结果
行号
原因
条件
长度
页码
分配
测试
原理
基础
依此类推
也就是
位置
内容
写法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
登录工银商户之家说服务器超时
安徽企业软件开发哪个好
中国台湾小型软件开发哪家快
数据库提高运算速度
te数据库怎么连接器
信而富服务器繁忙
河北系统软件开发服务费
环物网络技术有限公司
千兆服务器网口连百兆交换机
预付账款软件开发费的分录
怀旧服不想上线的服务器
数据库主文件名在哪里
手机终端服务器
公路局网络安全活动
松江区网络技术咨询服务介绍
佛山网络安全设备
数据库java学哪个
开发app 需要服务器吗
黑客雇佣平台网络技术
网络安全发展的基本特征
电子科技大学网络安全导师哪个好
网络安全审计员岗位职责
计算机网络技术适合女生嘛
3d家装设计软件开发
交通局网络安全组织机构和人员
软件开发保护包括哪些
5g网络技术白皮书下载
软件开发方法学的基本方法
中国邮储集团软件开发中心
华为网络安全的课程在哪里购买