簡(jiǎn)單實(shí)例解釋Oracle分頁(yè)查詢
什么是分頁(yè)查詢
分頁(yè)查詢就是把query到的結(jié)果集按頁(yè)顯示。比如一個(gè)結(jié)果集有1W行,每頁(yè)按100條數(shù)據(jù)庫(kù)。而你獲取了第2頁(yè)的結(jié)果集。
為什么要分頁(yè)查詢
如果一個(gè)結(jié)果集有幾十W行,那么在一個(gè)頁(yè)面上顯示肯定顯示不完。同時(shí),顯示數(shù)據(jù)庫(kù)記錄是需要加載到內(nèi)存的,而顯示大量數(shù)據(jù)是消耗內(nèi)存更多。
我們可以為了以下目的使用分頁(yè)查詢:
- 為了精確定位結(jié)果集的內(nèi)容
- 為了節(jié)約內(nèi)存
- 為了在有限的頁(yè)面空間顯示適度的數(shù)據(jù)。
如何實(shí)現(xiàn)分頁(yè)查詢
使用Oracle的EMP表
select * from ( select rownum rn, e.* from ( select * from EMP) e );
結(jié)果如下:
分頁(yè)查詢?cè)创a如下:
select * from ( select rownum rn, e.* from ( select * from EMP) e ) where rn > pageSize * (page - 1) and rn <= pageSize * page
分析源碼:
我們選定每頁(yè)(pageSize)為5。那么EMP表目前共有三頁(yè),1~5行為1頁(yè);6~10行為1頁(yè);1~15行為1頁(yè)(缺第15行,那么第3頁(yè)就顯示4行記錄)
頁(yè)面從第1頁(yè)開始。
我們要查詢第2頁(yè)的記錄,那么page = 2。
where rn > 5 and rn <= 10
那么第2頁(yè)是由第6,7,8,9,10行記錄形成的。
select * from ( select rownum rn, e.* from ( select * from EMP) e ) where rn > 5 and rn <= 10
結(jié)果如下:
分頁(yè)查詢也可以使用betwenn ... and ...
where rn = between (pageSize * (page - 1) + 1) and pageSize * page
可見分頁(yè)查詢是取某一范圍的結(jié)果集。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Oracle中dblink的實(shí)際應(yīng)用示例詳解
DBLink的作用是在局域網(wǎng)內(nèi),通過(guò)一臺(tái)服務(wù)器上面的數(shù)據(jù)庫(kù)訪問(wèn)另外一臺(tái)服務(wù)器上面數(shù)據(jù)庫(kù)的功能。下面這篇文章主要給大家介紹了關(guān)于Oracle中dblink實(shí)際應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面來(lái)一起看看吧。2017-09-09Oracle?SQL報(bào)錯(cuò):ORA-06550解決辦法
這篇文章主要給大家介紹了關(guān)于Oracle?SQL報(bào)錯(cuò):ORA-06550的解決辦法,Oracle的ORA-06550錯(cuò)誤是一個(gè)常見的Oracle數(shù)據(jù)庫(kù)錯(cuò)誤代碼,文中通過(guò)代碼及圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04Oracle數(shù)據(jù)庫(kù)下載與安裝的完整步驟
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)下載與安裝的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Oracle批量執(zhí)行sql語(yǔ)句之禁用所有表的外鍵
這篇文章主要介紹了Oracle批量執(zhí)行sql語(yǔ)句之禁用所有表的外鍵的相關(guān)資料,需要的朋友可以參考下2016-01-01oracle使用存儲(chǔ)過(guò)程將表數(shù)據(jù)以excel格式導(dǎo)出的操作方法
雖然目前pl/sql developer等數(shù)據(jù)庫(kù)客戶端軟件都支持將表數(shù)據(jù)以excel格式導(dǎo)出,但是如果數(shù)據(jù)量大,需要等客戶端加載表數(shù)據(jù)等待很久,這篇文章給大家分享oracle使用存儲(chǔ)過(guò)程將表數(shù)據(jù)以excel格式導(dǎo)出的操作方法,需要的朋友可以參考下2024-07-07Oracle數(shù)據(jù)庫(kù)查看與修改內(nèi)存配置的方法
在使用Oracle時(shí)我們需要關(guān)注數(shù)據(jù)庫(kù)的內(nèi)存使用情況,以確保其正確高效地運(yùn)行,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)查看與修改內(nèi)存配置的相關(guān)資料,需要的朋友可以參考下2023-11-11Oracle 8x監(jiān)控sysdba角色用戶登陸情況
Oracle 8x監(jiān)控sysdba角色用戶登陸情況...2007-03-03