Oracle 數據庫分頁查詢的三種方法


一、Oracle 數據庫分頁查詢的三種方法

1.簡介

不能對 rownum 使用 >(大於或等於 1 的數值)、>=(大於 1 的數值)、=(不等於 1 的數值),否則無結果。所以直接用 rownum 的時候只能從 1 開始,
比如 rownum >1 沒有記錄,因為第一條不滿足去掉的話,第二條的 rownum 又成了 1,所以永遠沒有滿足條件的記錄。

SELECT *
FROM emp
WHERE rownum >= 1;

以下 sql 均無結果

SELECT *
FROM emp
WHERE rownum > 1;

SELECT *
FROM emp
WHERE rownum >= 2;

SELECT *
FROM emp
WHERE rownum = 0;

SELECT *
FROM emp
WHERE rownum < 1;

二、rownum 不從 1 開始分頁查詢的三種方法

SELECT *
FROM (
	SELECT rownum AS rnum, e.*
	FROM emp e
)
WHERE rnum >= 10;

1.分頁查詢方法一

SELECT *
FROM (
	SELECT rownum AS rnum, e.*
	FROM emp e
	WHERE rownum <= 10
)
WHERE rnum >= 5;

2.分頁查詢方法二

SELECT *
FROM (
	SELECT rownum AS rnum, e.*
	FROM emp e
)
WHERE rnum BETWEEN 3 AND 6;

3.分頁查詢方法三

SELECT *
FROM (
	SELECT rownum AS rnum, e.*
	FROM (
		SELECT *
		FROM emp
	) e
	WHERE rownum <= 10
)
WHERE rnum >= 8;

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM