Oracle分页SQL,存以备忘。
SQL:
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
概念解释:
ROWNUM是根据结果集生成的伪列。
最内层返回所有符合条件的结果集,并生成逻辑列ROWNUM。
由于CBO的优化模式,这种SQL效率最高。
参考:
http://database.51cto.com/art/201106/270156.htm
http://database.51cto.com/art/200904/118737.htm