码迷,mamicode.com
首页 > 数据库 > 详细

Oracle数据库的伪列

时间:2017-12-16 23:07:01      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:数据   img   解析   oracle   等于   class   bsp   更新   temp   

伪列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数据库的伪列

标签:数据   img   解析   oracle   等于   class   bsp   更新   temp   

原文地址:http://www.cnblogs.com/sujulin/p/8047773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!