国产探花免费观看_亚洲丰满少妇自慰呻吟_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; 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平顶山市| 博湖县| 闽清县| 合肥市| 乌兰县| 泗洪县| 筠连县| 遂平县| 乌海市| 凤冈县| 泰来县| 罗定市| 大厂| 崇义县| 崇州市| 苏尼特右旗| 东乡| 资源县| 麻阳| 晴隆县| 正阳县| 娄烦县| 武山县| 南阳市| 梨树县| 图木舒克市| 德清县| 巴塘县| 承德县| 海兴县| 通河县| 鹤岗市| 科技| 泰宁县| 武平县| 盖州市| 得荣县| 呼图壁县| 淅川县| 衡山县| 石嘴山市|