详解oracle分页查询的基础原理
发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,本文从数据查询原理,以及分页实现的方法详细分析了oracle分页查询的基础知识,以下是本文内容:原因一oracle默认为每个表生成rowmun,rowid字段,这些字段我们称之为伪列1 创建测试表CR
千家信息网最后更新 2024年11月21日详解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安全错误
数据库的锁怎样保障安全
企业管理有什么软件开发
零基础学软件开发需要多久
投标网络安全二级
计算机软件开发产品概括
计算机三级网络技术学习资料
安徽智慧党建软件开发系统
瑞士网络安全
数据库对照表设计
金寨软件开发者在线咨询
糖果小说软件开发
锐捷软件开发涨薪幅度
长沙主宰网络技术有限公司
sql数据库下载哪个版本比较好
服务器怎么加cpu
波风数据库
广东服务器磁盘阵列卡芯片云主机
数据库名录厂商
数据警务技术 网络安全
网络技术工程师技术面试题
网络安全法 6个月
方舟单人能玩服务器闪退怎么办
内网网络安全常识
河南省十四五时期网络安全规划
守望先锋哪个城市有服务器
数据库的查询与筛选的区别
网络安全技术期末测试题
企业常用的网络安全技术
飞贷复杂网络技术
软件开发合同书1
计算机网络技术实验周报全套