Oracle的分页是怎样分的啊。我知道MySQL用的是limit关键字,但是Oracle是怎么样的呢?谁回答的好,我把分给
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle的分页是怎样分的啊。我知道MySQL用的是limit关键字,但是Oracle是怎么样的呢?谁回答的好,我把分给相关的知识,希望对你有一定的参考价值。
谁。
SELECT * FROM(SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN >= 21控制分页查询的每页的范围。主要就是靠oracle的伪列rownum来控制。追问
为什么你这么多子查询啊。第三个Select是起什么作用啊。两个Select不就行了吗
追答如果你是要全表,不是特别的某个关联字段,最里面的当然可以省略
追问以前我一直没有搞懂。你这个SELECT A.*是什么意思啊。
追答A是后面 (SELECT * FROM TABLE_NAME)的结果集别名,A.*当然就是查询A表的全部记录
追问哦。如果我不需要SELECT * FROM TABLE_NAME这一步,那么这条分页的SQL是怎么写的啊。加个QQ聊吧。390930773
追答你如果分页就只有一个表,那么就直接把里面哪个拿掉
SELECT * FROM
(SELECT A.*, ROWNUM RN FROM TABLE A
WHERE ROWNUM = 21
select * from (select A.*,ROWNUM RN from (
select t *
from table t
) A
where ROWNUM <=截止行
where RN >开始行 参考技术B rownum,网上一大堆的例子
以上是关于Oracle的分页是怎样分的啊。我知道MySQL用的是limit关键字,但是Oracle是怎么样的呢?谁回答的好,我把分给的主要内容,如果未能解决你的问题,请参考以下文章