程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle中經典分頁代碼!,oracle經典分頁代碼

Oracle中經典分頁代碼!,oracle經典分頁代碼

編輯:Oracle教程

Oracle中經典分頁代碼!,oracle經典分頁代碼


在Oracle中因為沒有top關鍵字,所以在sqlserver中的分頁代碼並不適用於Oracle,那麼在Oracle中如何來實現分頁呢?

--查詢所有數據

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
------ -------------------- ---------- ---------- ----------                                                                                                                                            
9      王五                         15 5.9876E+15          5                                                                                                                                            
13     哈哈                         15 5.9876E+15          5                                                                                                                                            
15     李四                         12 1.5666E+10          6                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5           

 

比如說我要查詢stuInfo表中第二到第四條記錄

 

--兩層嵌套分頁

SQL> --兩層嵌套分頁
SQL> select * from (select stuInfo.*,rownum as rn from stuInfo where rownum<=4) where rn >=2;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT         RN                                                                                                                                 
------ -------------------- ---------- ---------- ---------- ----------                                                                                                                                 
13     哈哈                         15 5.9876E+15          5                                                                                                                                            
15     李四                         12 1.5666E+10          6                                                                                                                                            
1      66                           10 5566554666          5          

 

--如果我沒有對原始表有其他的排序操作的話,兩層嵌套就可以滿足需求了,但是如果我有一個條件是必須先將學號進行降序排列,然後取第二到第四條記錄呢?

那麼就必須使用三層嵌套了

SQL> select * from (select stu.* , rownum as rn from (select stuInfo.* from stuI
nfo order by stuno desc) stu where rownum<=4) where rn>=2;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT         RN
------ -------------------- ---------- ---------- ---------- ----------
15     李四                         12 1.5666E+10          6          2
13     哈哈                         15 5.9876E+15          5          3
1      66                           10 5566554666          5          4

 這樣就完成了分頁查詢了

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved