Oracle数据库的伪列

伪列Oracle 中伪列就像一个表列(表中的列),但是它并没有存储在表中,伪列可以从表中查询,但不能插入、更新和删除它们的值

 

常用的伪列有ROWID和ROWNUM。

 

ROWID的使用——快速删除重复的记录

解析:ROWID是数据的详细地址,通过rowidoracle可以快速的定位某行具体的数据的位置。

 

ROWID可以分为物理rowid和逻辑rowid两种。

普通的表中的rowid是物理rowid,索引组织表(IOT)rowid是逻辑rowid

当表中有大量重复数据时,可以使用ROWID快速删除重复的记录。

 

查询语句:

select rowid,rownum from  student

 

 

 

ROWNUM

ROWNUM 是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数

  通过测试可知,Rownum只能对=1<N进行筛选,如果>M不能筛选,如何规避。

通过子查询构建临时表,让伪列Rownun称为临时表中的列,然后限定条件使用伪列的

别名。

 

利用伪列查询伪列编号等于2的数据

 

select *from

 

(

 

select id,name,rownum rn from   student

 

) temp

 

where rn =2

 

利用伪列查询第4-6条数据

select *from

(

 select temp.*,rownum rn from 

 (

  select *from student

 ) temp

  where rownum<=6

)where rn>=4

 

转载于:https://www.cnblogs.com/sujulin/p/8047773.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值