Loading

SQL基础--ROWNUM伪列

ROWNUM伪列 的概念:

  rownum表示的是一个数据行编号的伪列,它的内容是在用户查询数据时,为用户动态分配的一个数组(行号)。

  注意它是随机生成的,并不是和某一行数据绑定在一起的。

 

观察rownum:

SQL> select rownum,deptno,dname,loc from dept;

    ROWNUM     DEPTNO   DNAME         LOC
---------- ---------- -------------- -------------
     1       10     ACCOUNTING     NEW YORK
     2       20     RESEARCH       DALLAS
     3       30     SALES          CHICAGO
     4       40     OPERATIONS     BOSTON

 

 

ROWNUM的常用操作:

   --显示出查询出来的第1条记录

SQL> select *from dept where rownum=1;

    DEPTNO DNAME      LOC
---------- -------------- -------------
    10 ACCOUNTING      NEW YORK

注意只能是第一条记录,其它的是不行的。

 

  --分页技术

1.查询出雇员表中的前5条记录

select *
  from (select empno, ename, hiredate, rownum rn from emp where rownum <= 5) temp
 where temp.rn > 0;

  这里采用了子查询,其实直接写“select empno, ename, hiredate, rownum rn from emp where rownum <= 5”就可以得到同样的结果,这是因为这是采用标准的分页格式完成的。

结果:

 

2.查询出6~10条记录

从这就可以看出标准写发的好处了。

 

ORACLE12的新特性

  为了方便数据分页显示操作,专门提供了FETCH语句。

 

posted @ 2017-01-06 00:50  头痛不头痛  阅读(1343)  评论(0编辑  收藏  举报