Oracle数据库的伪列

Posted 努力奋斗吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Oracle数据库的伪列的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 的伪列

oracle数据库基本操作

Oracle中的伪列

oracle04--伪列

伪表和伪列

Oracle Schema Objects——伪列ROWID Pseudocolumn(ROWNUMROWID)