您的位置:首页 > 数据库 > Oracle

oracle分页思想

2017-12-15 14:13 155 查看
我们项目中经常会用到分页的sql,下面我来总结下oracle分页的sql及思路

我们mysql处理分页时候有个关键字是limit,但是oracle中没有,那么oracle中是如何使用分页的呢?

oracle有一个伪列,叫rownum,翻译成中文就是行号的意思,也就是说oracle是用这个去控制所查询的条数

举例:

Student 表

id       name

11111学生一
22222学生二
33333学生三
44444学生四
55555学生五
66666学生六
这章学生表,字段有两个,我们查询的时候需要所谓的序号或者说是行号,我们这个时候就需要oracle的伪列rownum
我们相当于创建一个新表,新表的sql如下

SELECT 

T.*,

ROWNUM RN 

FROM

STUDENT  T

------------------------------------------------------------------------------------------

这样我们就组成一个新表,新表中有三个字段

id name            rownum

11111学生一1
22222学生二2
33333学生三3
44444学生四4
55555学生五5
66666学生六6
组成这个新表的话,我们就可以根据新的列rownum去控制我们需要的那几行

这样就组成新的分页查询语句

SELECT

*

FROM(

SELECT 
T.*,
ROWNUM RN 
FROM
STUDENT  T
)T1

WHERE

T1.RN<=3

AND

T1.RN>=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ORACLE分页 oracle