序列_RowNum分页笔记
CREATE TABLE SCOTT.S1_Score
(
ID NUMBER(10),
Score NUMBER(3),
Name VARCHAR2(10)
)
(
ID NUMBER(10),
Score NUMBER(3),
Name VARCHAR2(10)
)
CREATE TABLE SCOTT.S2_Score
(
ID NUMBER(10),
Score NUMBER(3),
Name VARCHAR2(10)
)
(
ID NUMBER(10),
Score NUMBER(3),
Name VARCHAR2(10)
)
CREATE TABLE SCOTT.Y2_Score
(
ID NUMBER(10),
Score NUMBER(3),
Name VARCHAR2(10),
Descr VARCHAR2(10)
)
(
ID NUMBER(10),
Score NUMBER(3),
Name VARCHAR2(10),
Descr VARCHAR2(10)
)
insert into S1_Score(ID,Score,Name) values(1,80,'张三')
create sequence seq_y2score
start 1000
increment by 1
start 1000
increment by 1
select seq_score.nextval from dual
select seq_score.currval from dual
select seq_score.currval from dual
insert into S1_Score(ID,Score,Name) values(seq_score.nextval ,80,'张三')
insert into S2_Score(ID,Score,Name) values(seq_score.nextval ,80,'张三')
insert into S2_Score(ID,Score,Name) values(seq_y2score.nextval ,80,'张三')
insert into S2_Score(ID,Score,Name) values(5 ,80,'张三')
insert into S2_Score(ID,Score,Name) values(seq_score.nextval ,80,'张三')
insert into S2_Score(ID,Score,Name) values(seq_y2score.nextval ,80,'张三')
insert into S2_Score(ID,Score,Name) values(5 ,80,'张三')
insert into S2_Score(ID,Score,Name)
values(seq_score.nextval ,seq_y2score.nextval,'张三')
values(seq_score.nextval ,seq_y2score.nextval,'张三')
select a.empno, rowid rid,rownum from emp a
select * from emp where rowid='AAAH14AABAAAO+HAAI'
select *,rownum from emp
select empno,ename,rownum from emp where ename>='K'
select empno,ename,rownum from emp where ename>='K' order by ename
select empno,ename,rownum from emp where ename>='K'
select empno,ename,rownum from emp where ename>='K' order by ename
第一页:允许有限制条件
select * from emp where rownum<=3
select * from emp where ename>='K' and rownum<=3
select * from emp where rownum<=3
select * from emp where ename>='K' and rownum<=3
//错误,先取一页,在一页中排序
select * from emp where ename>='K' and rownum<=3 order by ename
正确,有排序的时候,查询第一页
select a.* from (
select * from emp where ename>='K' order by ename) a
where rownum<=3
select * from emp where ename>='K' and rownum<=3 order by ename
正确,有排序的时候,查询第一页
select a.* from (
select * from emp where ename>='K' order by ename) a
where rownum<=3
第2,3,4页:允许有限制条件
select * from emp where rownum<=6 and rownum>3//错误
select * from emp where rownum=1//正确
select * from emp where rownum=2//错误
select * from emp where rownum>3//错误
select * from emp where rownum<=6 and rownum>3//错误
select * from emp where rownum=1//正确
select * from emp where rownum=2//错误
select * from emp where rownum>3//错误
select * from
(select a.*, rownum rn from emp a where rownum<=9)
where rn>6
(select a.*, rownum rn from emp a where rownum<=9)
where rn>6
select * from
(select a.*, rownum rn from emp a where ename>='K' and rownum<=9)
where rn>6
(select a.*, rownum rn from emp a where ename>='K' and rownum<=9)
where rn>6
//错误,先取一页,在一页中排序
select * from
(select a.*, rownum rn from emp a where ename>='K' and rownum<=9 order by ename)
where rn>6
select * from
(select a.*, rownum rn from emp a where ename>='K' and rownum<=9 order by ename)
where rn>6
正确,有排序的时候,查询第2,3,4页
select * from (
select a.*,rownum rn from (
select * from emp where ename>='K' order by ename) a
where rownum<=6) where rn>3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?