一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - Oracle實現分頁查詢的SQL語法匯總

Oracle實現分頁查詢的SQL語法匯總

2019-12-14 16:05shichen2014 Oracle

這篇文章主要介紹了Oracle實現分頁查詢的SQL語法,非常實用的功能,需要的朋友可以參考下

本文實例匯總了Oracle實現分頁查詢的SQL語法,整理給大家供大家參考之用,詳情如下:

1.無ORDER BY排序的寫法。(效率最高)

經過測試,此方法成本最低,只嵌套一層,速度最快!即使查詢的數據量再大,也幾乎不受影響,速度依然!

sql語句如下:

?
1
2
3
4
5
6
7
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排序的寫法。(效率最高)

經過測試,此方法隨著查詢范圍的擴大,速度也會越來越慢!

sql語句如下:

?
1
2
3
4
5
6
7
8
9
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代替)

此方法隨著查詢數據量的擴張,速度會越來越慢!

sql語句如下:

?
1
2
3
4
5
6
7
8
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語句如下:

?
1
2
3
4
5
6
7
8
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寫法)

該語法風格與傳統的SQL語法不同,不方便閱讀與理解,為規范與統一標準,不推薦使用。此處貼出代碼供大家參考之用。

sql語句如下:

?
1
2
3
4
5
6
7
8
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寫法)

?
1
2
3
4
5
6
7
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;

相信本文所述代碼能夠對大家有一定的參考借鑒價值。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲 日本 天堂 国产 在线 | 国产网站免费看 | 青青久久久 | 香蕉久久一区二区三区啪啪 | 欧美一卡二卡科技有限公司 | 91热国内精品永久免费观看 | 欧美男男gaygaysxxx | 色老板视频在线 | 91在线视频播放 | 欧美免赞性视频 | 红色毛片 | 水蜜臀 | 5g影院天天影院天天爽影院网站 | 久久99国产视频 | 韩国三级理韩国三级理人伦 | 久久 这里只精品 免费 | 男男视频18免费网站 | 国内视频一区二区三区 | 日本免费观看95视频网站 | 天堂8在线天堂资源在线 | 西西人体大胆啪啪私拍色约约 | 性关系视频网站 | 精品在线视频一区 | 男人天堂a| 2019中文字幕 | 秋霞一级毛片 | 男人操女人免费视频 | 无码人妻99久久密AV | 欧美高清在线精品一区 | 欧乱色国产精品兔费视频 | 18成人在线观看 | 日韩欧一级毛片在线播无遮挡 | 精品亚洲456在线播放 | a级亚洲片精品久久久久久久 | 国产精品一区二区不卡的视频 | 国产情侣视频观看 | 亚洲福利视频在线观看 | 久久草福利自拍视频在线观看 | 久久综合给合久久狠狠狠… | 小浪妇奶真大水多 | 91精品免费观看老司机 |