Oracle数据分页查询(ROWNUM)

时间:2021-06-24 20:09:59
ROWNUM只能定义第一行,不能定义第二行,(select后执行,因为select前还没有生成数据行数),这里是oracle自己的数据固定查询。
SELECT ROWNUM,empno,ename,job,hiredate FROM scott.emp WHERE deptno=30 AND ROWNUM = 1;

ROWNUM可以查询前N行数据
SELECT ROWNUM,empno FROM scott.emp WHERE ROWNUM<=10;
记住:不能使用BETWEEN...AND

分页查询
  • 取出前10条记录
  • 通过子查询,帅选出后5条记录
SELECT *
FROM (
 SELECT ROWNUM rn,empno,ename,job,hiredate FROM scott.emp
 WHERE ROWNUM<=10
) temp
WHERE temp.rn>5;
当查询的数据不足五条时,只会返回4行数据
一定要将以上的分页查询使用熟练,一定会用到


  1. 当拿到一张新表时,想看一下表的数据(表中数据太多,会很麻烦,甚至会导致数据库死机)
  2. 用count(*)
SELECT count(*) FORM new_table;