版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ScongHW/article/details/85273098
rownum是Oracle数据库中的一个特有关键字,返回的是一个数字代表记录的行号。
1、rownum必须在select中才能被显示
select rownum, empno,ename,sal from emp ;
ROWNUM EMPNO ENAME SAL
---------- ---------- ---------- ----------
1 7369 SMITH 800
2 7499 ALLEN 1600
3 7521 WARD 1250
2、rownum是系统动态生成的,并不是实体数据。
select empno,ename,sal from emp where rownum = 1;
EMPNO ENAME SAL
---------- ---------- ----------
7369 SMITH 800
select empno,ename,sal from emp where rownum = 2;
未选定行
3、rownum是按照默认的顺序生成
select rownum,empno ,ename ,sal from emp order by sal;
ROWNUM EMPNO ENAME SAL
---------- ---------- ---------- ----------
1 7369 SMITH 800
12 7900 JAMES 950
11 7876 ADAMS 1100
3 7521 WARD 1250
5 7654 MARTIN 1250
4、rownum只能使用>,>=,=符号,不能使用<,<=符号。
select rownum,empno ,ename ,sal from emp where rownum<=3;
ROWNUM EMPNO ENAME SAL
---------- ---------- ---------- ----------
1 7369 SMITH 800
2 7499 ALLEN 1600
3 7521 WARD 1250
select rownum,empno ,ename ,sal from emp where rownum>=2;
未选定行
5、分页操作
select * from (select rownum rn,empno,ename,sal from emp) where rn>=3 and rn<=7;
RN EMPNO ENAME SAL
---------- ---------- ---------- ----------
3 7521 WARD 1250
4 7566 JONES 2975
5 7654 MARTIN 1250
6 7698 BLAKE 2850
7 7782 CLARK 2450