僞列
所謂僞列,是指它可用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;
執行結果: