【oracle】僞列ROWID(行標識符)和ROWNUM(結果集中的行號)

僞列

所謂僞列,是指它可用select查詢,但實際並未存儲在表中,它是由數據庫管理系統額外提供的一個列,該列不能插入、更新和刪除。

ROWID

在Oracle中,每行記錄都有一個行標識符,其列名爲rowid。該列存儲了對應行記錄的物理存儲位置。 rowid可用在select語句中,顯示的結果是採用base-64編碼的18位字符。(A~Z,a~z,0~9,+,/)

ROWNUM
rownum也是一個僞列,它返回每一行記錄在結果集中的行號。

--從customers表中檢索每行記錄的行標識符和行號
select cst.*,rowid,rownum from customers cst;
--若需要select *,則需要在*前邊加表格限定名;rowid和rownum僞列,則不能加限定名

執行結果:

利用rownum實現分頁功能

--分頁功能 第一頁
select * from customers where rownum < 3;
--分頁功能 第二頁(rownum不能加temp限定名,所以必須取別名rn)
select temp.*
  from (select cst.*, rownum rn from customers cst) temp
 where temp.rn > 2
   and temp.rn < 5;

執行結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章