Oracle 学习(五)---分页查询

本文介绍了Oracle数据库中ROWNUM伪列的概念及其在分页查询中的应用技巧,包括常见错误用法及正确示例,并提供了按指定字段有序排列的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle 分页查询Rownum

1.ROWNUM:

Oracle中的表,除了我们建表时设计的各个字段,其实还有两个字段(此处只介绍2个),分别是ROWID(行标示符)和ROWNUM(行号),即使我们使用DESCRIBE命令查看表的结构,也是看不到这两个列的描述的,因为,他们其实是只在数据库内部使用的,所以也通常称他们为伪列(pseudo column)

2.rownum的使用

select * from table where rownum >= 2 and rownum <=4(错误,查询不到信息

错误原因:rownum查询是,当查询第一行时,rownum=1 不符合条件,行数去除,表中下一行自动替换为rownum =1 所以说知道最后也查询不到符合 rownum >= 2 的数据

改进:

select * from
//构建新的临时表格,将rownum当作新的字段添加到临时表
(select rownum num,t.* from table t)

where num >=2 and num<=4/num between 2 and 4

或者

select * from
//可以对表格直接进行<= rownum筛选操作
( rownum num,t.* from table t where rownum <=4)

where num >=2

注意:

select rownum,* from table(错误sql,查询不到信息

改为部分查询:

select rownum,name from table

如何根据order by 字段进行rownum 有序排列

乱序:

select rownum ,name from table order by name(rownum 不是有序排列)

改进:

select rownum,t1.name from

(select t.name from table t order by name ) t1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值