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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM