之前不会oracle的分页,今天跟着一个视频学习了一下:
讲解中说:oracle是不支持‘>’ 大于号,所以需要使用sql语句的嵌套,来实现分页的,但是大多数一般都使用了两次嵌套,实现了分页功能,形如:
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM < 21
)
WHERE RN > 11
但是:根据视频的讲解,可以根据ROWNUM来支持大于号,虽然上边的分页也是根据这一原理实现的,但我也根据这个原理写了一个分页,如下:
select * from (select rownum rn, t.* from TABLE_NAMEt where rownum<21) b where b.rn>11 ;
经过测试,确实可用,一样实现分页效果!
不明白的是,我的这个和最上面的相比是不是数据多的话,性能跟不上,所以大多使用了两次嵌套的写法!
特此,记录一下,以后待查。
oracle分页
最新推荐文章于 2018-11-01 16:18:24 发布