rowid 和 rownum 的區別

2021-08-29 14:22:36 字數 850 閱讀 1055

rowid

用於定位資料表中某條資料的位置,是唯一的、也不會改變

rownum

表示查詢某條記錄在整個結果集中的位置,

同一條記錄查詢條件不同對應的 rownum

是不同的而 rowid

是不會變的

例如有如下一張表 :user

name

age

張三

20 李四

22 王五

23

當執行查詢 : select  rowid,rownum,name,age   from user order by ageasc時結果如下:

rowid

rownum

name

age

aaaowhaaqaaalgdaaa

1 張三

20 aaaowhaataaalp7aad

2 李四

22 aaaowhaataaalp7aae

3 王五

23

當執行查詢 : select  rowid,rownum,name,age   from user order by agedesc時結果如下:

rowid

rownum

name

age

aaaowhaataaalp7aae

1 王五

23 aaaowhaataaalp7aad

2 李四

22 aaaowhaaqaaalgdaaa

3 張三

21

rowid和rownum的區別

rowid和rownum都是序列,但含義完全不同。rowid是實體地址,用於定位oracle中具體資料的物理儲存位置,rownum則是sql的輸出結果排序。通俗的講 rowid是相對不變的,rownum會變化,尤其是使用order by的時候 rowid 用於定位資料表中某條資料的位置,是唯一的,也...

Oracle查詢 rownum和rowid的區別

在oracle中,有乙個很有趣的東西,那就是rownum。當你從某個表中查詢資料的時候,返回的結果集中都會帶有rownum這個字段,而且有時候也可以使用rownum進行一些條件查詢。在查詢中,我們可以注意到,類似於 select xx from table where rownum n n 1 這樣...

oracle中rownum和rowid的區別

rownum和rowid都是偽列,但是兩者的根本是不同的,rownum是根據sql查詢出的結果給每行分配乙個邏輯編號,所以你的sql不同也就會導致最終rownum不同,但是rowid是物理結構上的,在每條記錄insert到資料庫中時,都會有乙個唯一的物理記錄 例如 aaamgzaaeaaaaagaa...