国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

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

2020-07-26 14:17:35
字體:
來源:轉載
供稿:網友

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

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

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

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_ALIASWHERE TABLE_ALIAS.ROWNO >= 10;

2.有ORDER BY排序的寫法。(效率最高)

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

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_ALIASwhere TABLE_ALIAS.rowno >= 10;

3.無ORDER BY排序的寫法。(建議使用方法1代替)

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

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_ALIASWHERE 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_ALIASwhere TABLE_ALIAS.rowno BETWEEN 10 AND 20;

5.另類語法。(有ORDER BY寫法)

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

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; 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 砀山县| 葵青区| 保德县| 繁昌县| 双城市| 吴江市| 奉新县| 察隅县| 屯留县| 富宁县| 临高县| 南康市| 泸州市| 深圳市| 林州市| 湖口县| 杭锦旗| 海晏县| 黑水县| 衢州市| 娄烦县| 宜章县| 河东区| 万年县| 什邡市| 罗田县| 丹巴县| 从化市| 洛阳市| 营山县| 定州市| 科技| 靖江市| 方正县| 绥化市| 正镶白旗| 仁化县| 炉霍县| 潮州市| 甘洛县| 田东县|