ROWNUM伪列的使用:
ROWNUM是在查询过程中动态生成的一个列,该列其实也很像一个字段,但是这个列不属于数据表,而是在查询中动态生成的,必须从1开始
使用ROWNUM:
SELECT ROWNUM AS rn,empno,ename,job,sal,hiredate,mgr,comm,deptno
FROM emp;
查询emp表中的第一条数据
SELECT ROWNUM AS rn,empno,ename,job,sal,hiredate,mgr,comm,deptno
FROM emp
WHERE ROWNUM=1;
查询第二条数据:
因为ROWNUM是动态生成的,必须从1开始,所以直接查询第二条数据,查询不到
使用ROWNUM取得EMP表中前五条数据:
SELECT ROWNUM AS rn,empno,ename,job,sal,hiredate,mgr,comm,deptno
FROM emp
WHERE ROWNUM<=5;
取得6~10条数据:
第一步:先取得前10条数据:
SELECT ROWNUM AS rn,
empno,ename,job,sal,hiredate,mgr,comm,deptno
FROM emp
WHERE ROWNUM<=10;
第二步:将第一步的结果作为一个临时数据表结合FROM子查询实现
SELECT *
FROM (
SELECT ROWNUM AS rn,
empno,ename,job,sal,hiredate,mgr,comm,deptno
FROM emp
WHERE ROWNUM<=10) temp
WHERE rn>=6;