rowid与rownum区别

本文深入探讨了Oracle数据库中rowid和rownum的使用及区别,rowid作为物理地址标识数据存储位置,rownum则为查询结果提供逻辑编号,适用于分页查询。通过具体示例展示了如何利用rownum实现数据分页,特别注意其不支持大于号的限制。

rowid

rowidrownum都是伪列,但含义完全不同。 rowid是物理地址,用于定位oracle中具体数据的物理存储位置,而rownum是根据sql查询出的结果给每行分配一个逻辑编号,所以你的sql不同也就会导致最终rownum不同。

rownum

rownum不支持大于号,只支持小于号,再者就是order by和rownum同时使用时则先rownum再排序,所以oracle分页的做法是使用3层嵌套子查询。

--每页显示5条,查询第二页的数据为:
select * from (
	select rownum rn, a.* from (
		select empno,ename from emp
	) a where rownum < 11) 
b where b.rn > 5
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值