Oracle使用rownum分頁方式實(shí)例代碼
1.1 概述
rownum是Oracle數(shù)據(jù)庫中的一個特有關(guān)鍵字,返回的是一個數(shù)字代表記錄的行號。這篇文章主要介紹了oracle使用rownum的三種分頁方式,需要的朋友可以參考下。
rownum是Oracle數(shù)據(jù)庫中的一個特有關(guān)鍵字,返回的是一個數(shù)字代表記錄的行號。
基礎(chǔ)知識:rownum只能做<或者<=的條件查詢,如果要rownum進(jìn)行51到100這樣的范圍判斷,需要先查詢出每一行的rownum,再用那個序號做判斷
獲取51到100的數(shù)據(jù)。
1.2 分頁詳解
1.2.1 三種分頁的寫法
1.使用minus,原理就是查詢出前100行的數(shù)據(jù) 減去 查詢出前50行的數(shù)據(jù)
select * from DATA_TABLE_SQL where rownum<=100 minus select * from DATAT_ABLE_SQL where rownum<=50
2.查詢出所有數(shù)據(jù)的rownum,然后再選擇50到100的數(shù)據(jù)(不推薦)
select * from (select t.*,rownum num from DATA_TABLE_SQL t) where num<=100 and num>50
3.限定范圍100條數(shù)據(jù),并查詢出這100條的rownum,然后再選擇50到100的數(shù)據(jù)
select * from (select t.*,rownum num from DATA_TABLE_SQL t where rownum<=100 ) where num>50
1.2.2 拓展兩個分頁查詢語句
1:單表查詢
SELECT * FROM (SELECT t.*,ROWNUM r FROM TABLE t WHERE ROWNUM <= pageNumber*pageSize) WHERE r >(pageNumber)*pageSize
2:兩張表聯(lián)查
SELECT * FROM (SELECT ROWNUM RN,XX.* FROM (SELECT 表名.字段名, 表名.字段名, 表名.字段名... FROM TABLE1 t1, TABLE2 t2 WHERE t1.字段=t2.字段) XX WHERE ROWNUM<=pageSize*pageNumber) WHERE RN >(pageNumber-1)*pageSize
1.3 總結(jié)
以上就是給大家介紹的oracle 使用rownum的三種分頁方式,希望對大家有所幫助。
到此這篇關(guān)于Oracle使用rownum分頁方式的文章就介紹到這了,更多相關(guān)Oracle使用rownum分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
常見數(shù)據(jù)庫系統(tǒng)比較 Oracle數(shù)據(jù)庫
常見數(shù)據(jù)庫系統(tǒng)比較 Oracle數(shù)據(jù)庫...2007-03-03
oracle正則表達(dá)式regexp_like的用法詳解
本篇文章是對oracle正則表達(dá)式regexp_like的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
oracle中 procedure(存儲過程)和function(函數(shù))本質(zhì)區(qū)別
這篇文章主要介紹了 oracle中 procedure(存儲過程)和function(函數(shù))本質(zhì)區(qū)別,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
Oracle查詢優(yōu)化日期運(yùn)算實(shí)例詳解
這篇文章主要介紹了Oracle查詢優(yōu)化日期運(yùn)算實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05

