Oracle 偽系函式

2021-09-17 02:03:58 字數 850 閱讀 1188

oracle中有兩個常見的「偽」函式,單行函式中的 dual函式(偽表)以及組函式中的rownum函式(偽列)。作用各有不同。

dual函式主要作用於測試函式和表示式,測試函式和表示式時也可以用到資料**達成目的,但是會影響效率與簡潔性。

舉個例子,測試一下sysdate函式(sysdate是乙個日期函式,它返回當前資料庫伺服器的日期和時間。),如圖所示:

左圖的是使用dual函式,右圖使用的是乙個有資料的表,當測試測試函式和表示式時,使用dual函式,是把結果返回乙個不存在的**裡,相當於是提供乙個返回條件,使用資料**則是將原先表裡的資料全部替換成查詢結果,此表中有107條資料,如果查詢全部資料的話,就會顯示107查詢資料,簡單而言,不涉及資料**中的資料的查詢都可以用dual函式作為返回條件。

rownum函式,使用的並不多,比dual函式還少,dual函式主要是新手初學時用一下,或者是專門的人去用,平時用的較少。

rownum函式則是多用於查詢指定序列,除此之外,用途不大。要查詢指定的資料值,方法很多,但是要顯示排序後篩選的某些資料的話,還是使用rownum函式更為方便些。

例如:老闆要你把員工最高工資排名前四名、七到十名的工資記錄調出來

如果是直接用篩選判斷去查詢的話,返回的資料也不會顯示具體的名次,在查詢資料外巢狀查詢偽列的話,偽列的列數也是和資料查詢的條條數一樣,偽列等同於名次,對偽列的篩選,也就是對查詢資料的篩選,用rownum函式完成查詢目的。別的應用類似……。

oracle的偽列以及偽表

oracle系統為了實現完整的關聯式資料庫功能,系統專門提供了一組成為偽列 pseudocolumn 的資料庫列,這些列不是在建立物件時由我們完成的,而是在我們建立時由oracle完成的。那麼oracle的偽列以及偽表是怎麼樣的呢?接下來就為大家詳細講解oracle的偽列以及偽表。oracle目前有...

mysql怎麼用偽表 Oracle偽列和偽表

oracle系統為了實現完整的關聯式資料庫功能,系統專門提供了一組成為偽列 pseudocolumn 的資料庫列,這些列不是在建立物件時由我 oracle的偽列以及偽表 oracle系統為了實現完整的關聯式資料庫功能,系統專門提供了一組成為偽列 pseudocolumn 的資料庫列,這些列不是在建立...

Oracle分頁 使用分析函式或偽列rownum

方法一 使用分析函式 用分析函式來實現分頁 select from select row number over order by usenum desc rownumber,t.from t account t where rownumber 10 and rownumber 20 方法二 使用偽...