分页 RUWNUM

rownum 它是oracle数据库内置列,任何表都可以使用,它作用是显示表中数字的行号
rownum 不是一个真实存在的一个列,它是用于从查询返回行的编号
返回的第一行分配的是1,第二行是2,依次类推。(当不符合条件时,永远是从一开始)

SELECT EMP.*, ROWNUM FROM EMP;



举例:取emp表中第一条记录

SELECT * FROM EMP WHERE ROWNUM = 1;



举例:查询工资最低的5名员工信息

SELECT T.*, ROWNUM
 FROM (SELECT * FROM EMP ORDER BY SAL) T
 WHERE ROWNUM <= 5;



注意:一定要先排序在分页,因为order by是最后执行的,如果先分页在排序的话那么出来的分页码就是乱的


伪列不能直接大于一个值

SELECT T.*, ROWNUM R
 FROM (SELECT * FROM EMP ORDER BY SAL) T
 WHERE ROWNUM >= 2;



伪列不能直接等于一个不等于1的值

SELECT T.*, ROWNUM R
 FROM (SELECT * FROM EMP ORDER BY SAL) T
 WHERE ROWNUM = 5;



伪列可以直接等于1

SELECT T.*, ROWNUM R
 FROM (SELECT * FROM EMP ORDER BY SAL) T
 WHERE ROWNUM = 1;

查询5到10名的员工信息

SELECT *
 FROM (SELECT EMP.*, ROWNUM R FROM EMP) T
 WHERE T.R >= 5
 AND T.R <= 10;

更多推荐

【Oracle 数据库】奶妈式教程 day10 分页