mysql 和 oracle 實現分頁原生 sql

好比使用 Java 開發的項目中操做數據庫,那麼如今和數據庫交互的工做如今都用框架,好比  MyBatis 或者 Hibernate 可是他們不仍是經過 JDBC 的方式訪問數據庫,那麼咱們就有必要根據數據庫類型採起不一樣的 sql 分頁語句,對於 mysql 數據庫,咱們能夠採用 limit 語句進行分頁,對於 oracle 數據庫,咱們能夠採用 rownum 的方式進行分頁。mysql

那麼在這裏我就簡單分享下原生的分頁 sql :

mysql 的分頁 sql 是:

select * from table limit m , n ;  其中 start 是頁碼,limit 是每頁顯示的條數。sql

limit 後的兩個參數中,參數 m 是起始下標,它從 0 開始;參數 n 是返回的記錄數。咱們須要分頁的話指定這兩個值便可。數據庫

例:select * from test limit 3,5;--查詢 test 表從 3 開始,5 條數據  oracle

oracle 的分頁 sql 是:

select * from ( select rownum rn , u.* from users u) ua where ua.rn between 3 and 4;框架

u.* 是查詢別名是 u 的表的全部列,rownum rn 就是將 rownum 起個別名 rn。學習

另外分享一篇博客:Oracle 中的 SQL 分頁查詢原理和方法詳解 想了解 oracle 分頁原理的能夠看下。spa

 

水平有限,如有問題請留言交流!.net

互相學習,共同進步 :) 轉載請註明出處謝謝!blog

相關文章
相關標籤/搜索