日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle快速了解法,【oracle】rownum的快速了解

發布時間:2024/1/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle快速了解法,【oracle】rownum的快速了解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

oracle數據庫有一個特有的字段或者屬性rownum,常用在分頁查詢。下面就來學習一下它吧。

【是什么】

rownum是oracle數據庫從數據文件或緩沖區中讀取數據的順序,是對結果集加的一個偽例,是oracle特有的隱藏的字段,記錄的是行數。

例如:數據庫t_user表中有兩條數據,如下:

Select* from t_user,得到的結果集,實際上,如下圖,只不過rownum是隱藏屬性。

【相關用法】

假設t_user表中有以下數據(以下排序都以此表為例)

1.rownum的排序

rownum是在取數據的時候產生的序號,但是具體是怎么對數據進行排序的就需要注意一下了。如下圖:

如上圖所示,結果集并沒有按照user_Id進行排序,反而是按照數據插入數據的真正實踐進行的排序。為了解決這個問題,我們可以用子查詢,如下:

這樣數據就乖乖的按照我們orderby的user_Id排序了。

2.rownum

對于直接查詢時,對rownum的=、進行取值

①直接查詢rownum=1,正確;rownum

②直接查詢rownum=2,不正確,這是因為rownum都是從1開始的,但是1以上的自然數在rownum做等于判斷時都認為是false條件,所以查詢不出數據。如下圖:

③使用子查詢就沒那么麻煩了,但是有一點,就要要對rownum進行命名,不然rownum到底是屬于內層的呢?還是外層的呢?會導致歧義,如下對比圖:

【測試】

理解一下下面這段代碼最后的查詢結果吧:

SELECT

user_id,user_name,PASSWORD,contact_tel,email,create_date

FROM

(

SELECT

rownum rn,user_id,create_date

FROM

(

SELECT

user_id,create_date

FROM

t_user

WHERE

user_id <> 'root'

ORDER BY

user_id

)

WHERE

rownum <= 6

)

WHERE

rn > 1

結果如下:(先取再排序再取)

總結

如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。

本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。

總結

以上是生活随笔為你收集整理的oracle快速了解法,【oracle】rownum的快速了解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。