1. 程式人生 > 其它 >ORACLE中ROWNUM

ORACLE中ROWNUM

一、rownum   1、rownum是對結果集新增的一個偽列;   2、是先按某種條件查詢出結果集之後又新增上的一個列;   3、它總是從1開始,因此在使用的過程中需要謹慎使用>,>=,=,between...and這些條件。   eg:   如下語句,執行此條語句你會發現就算表中有資料,查出的結果集也是空,是因為當取出第一條資料,此時ROWNUM = 1,不滿足ROWNUM > 10的條件,一次捨去,再取出下一條資料此時ROWNUM還會被賦值為1,依次類推,取到最後也還是沒有。   
SELECT ROWNUM,t.ownername FROM SYS_USER t
  WHERE ROWNUM >10

二、說明   1、ROWNUM 和 ROWID雖都被稱為偽列,但它們的存在方式是不一樣的,rowid 可以說是物理存在的,表示記錄在表空間中的唯一位置ID,在DB中唯一。只要記錄沒被搬動過,rowid是不變的。rowid 相對於表來說又像表中的一般列,所以以 rowid 為條件就不會有 rownum那些情況發生。   2、另外還要注意:rownum不能以任何基表的名稱作為字首

本文來自部落格園,作者:楠楠之歌,轉載請註明原文連結:https://www.cnblogs.com/htblog/p/15716564.html