Oracle實現(xiàn)分頁查詢的SQL語法匯總
本文實例匯總了Oracle實現(xiàn)分頁查詢的SQL語法,整理給大家供大家參考之用,詳情如下:
1.無ORDER BY排序的寫法。(效率最高)
經(jīng)過測試,此方法成本最低,只嵌套一層,速度最快!即使查詢的數(shù)據(jù)量再大,也幾乎不受影響,速度依然!
sql語句如下:
SELECT *
FROM (Select ROWNUM AS ROWNO, T.*
from k_task T
where Flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060731', 'yyyymmdd')
AND ROWNUM <= 20) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO >= 10;
2.有ORDER BY排序的寫法。(效率最高)
經(jīng)過測試,此方法隨著查詢范圍的擴大,速度也會越來越慢!
sql語句如下:
SELECT *
FROM (SELECT TT.*, ROWNUM AS ROWNO
FROM (Select t.*
from k_task T
where flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060531', 'yyyymmdd')
ORDER BY FACT_UP_TIME, flight_no) TT
WHERE ROWNUM <= 20) TABLE_ALIAS
where TABLE_ALIAS.rowno >= 10;
3.無ORDER BY排序的寫法。(建議使用方法1代替)
此方法隨著查詢數(shù)據(jù)量的擴張,速度會越來越慢!
sql語句如下:
SELECT *
FROM (Select ROWNUM AS ROWNO, T.*
from k_task T
where Flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060731', 'yyyymmdd')) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO <= 20
AND TABLE_ALIAS.ROWNO >= 10;
TABLE_ALIAS.ROWNO between 10 and 100;
4.有ORDER BY排序的寫法.(建議使用方法2代替)
此方法隨著查詢范圍的擴大,速度也會越來越慢!
sql語句如下:
SELECT *
FROM (SELECT TT.*, ROWNUM AS ROWNO
FROM (Select *
from k_task T
where flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060531', 'yyyymmdd')
ORDER BY FACT_UP_TIME, flight_no) TT) TABLE_ALIAS
where TABLE_ALIAS.rowno BETWEEN 10 AND 20;
5.另類語法。(有ORDER BY寫法)
該語法風(fēng)格與傳統(tǒng)的SQL語法不同,不方便閱讀與理解,為規(guī)范與統(tǒng)一標(biāo)準(zhǔn),不推薦使用。此處貼出代碼供大家參考之用。
sql語句如下:
With partdata as(
SELECT ROWNUM AS ROWNO, TT.* FROM (Select *
from k_task T
where flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060531', 'yyyymmdd')
ORDER BY FACT_UP_TIME, flight_no) TT
WHERE ROWNUM <= 20)
Select * from partdata where rowno >= 10;
6.另類語法 。(無ORDER BY寫法)
With partdata as(
Select ROWNUM AS ROWNO, T.*
From K_task T
where Flight_date between to_date('20060501', 'yyyymmdd') and
To_date('20060531', 'yyyymmdd')
AND ROWNUM <= 20)
Select * from partdata where Rowno >= 10;
相信本文所述代碼能夠?qū)Υ蠹矣幸欢ǖ膮⒖冀梃b價值。
相關(guān)文章
Oracle移動數(shù)據(jù)文件不停機和停機兩種方式詳解
這篇文章主要為大家介紹了Oracle移動數(shù)據(jù)文件不停機和停機兩種方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
ORACLE11g隨RHEL5系統(tǒng)自動啟動與關(guān)閉的設(shè)置方法
最近,ORACLE系統(tǒng)基本調(diào)試通過,是時候設(shè)置ORACLE隨RHEL自動啟動與關(guān)閉服務(wù)的時候了,之所以把這個任務(wù)放在最后來做,是因為我覺得這個應(yīng)該不會很難,但真正實施起來,還是遇到了個不小的障礙2009-08-08
Oracle數(shù)據(jù)庫的備份與恢復(fù)案例詳解
這篇文章介紹了Oracle數(shù)據(jù)庫的備份與恢復(fù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11
Centos下Oracle11gR2安裝教程與自動化配置腳本的方法
這篇文章主要介紹了Centos下Oracle11gR2安裝教程與自動化配置腳本的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
如何將Oracle的一個大數(shù)據(jù)表快速遷移到 Sqlserver2008數(shù)據(jù)庫(圖文教程)
這篇文章主要介紹了如何將Oracle的一個大數(shù)據(jù)表快速遷移到 Sqlserver2008數(shù)據(jù)庫(圖文教程),本文圖文并茂給大家介紹的非常詳細,需要的的朋友參考下吧2017-05-05
ORA-00349|激活 ADG 備庫時遇到的問題及處理方法
這篇文章主要介紹了ORA-00349|激活 ADG 備庫時遇到的問題及處理方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03

