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 @   头痛不头痛  阅读(1379)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
历史上的今天:
2016-01-06 Centos下Nagios的安装与配置
点击右上角即可分享
微信分享提示
主题色彩