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语句。

SQL基础--ROWNUM伪列的更多相关文章

  1. Oracle中ROWNUM伪列和ROWID伪列的用法与区别

    做过Oracle分页的人都知道由于Oracle中没有像MySql中limit函数以及SQLServer中的top关键字等,所以只能通过伪列的方式去满足分页功能,在此,不谈分页方法,只从根本上去介绍这两 ...

  2. Oracle中select子句取值先于order by子句执行而导致rownum伪列未按预期取值导致的问题

    有这么一张表: create table hytb( id number(4,0) not null primary key, padid nvarchar2(20) not null, inputd ...

  3. oracle之rownum(伪列)

    整理和学习了一下网上高手关于rownum的帖子: 参考资料:  http://tech.ddvip.com/2008-10/122490439383296.html 和 http://tenn.jav ...

  4. 浅析SQL Server数据库中的伪列以及伪列的含义

    SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个 ...

  5. Oracle Schema Objects——伪列ROWID Pseudocolumn(ROWNUM、ROWID)

    Oracle Schema Objects Oracle Schema Objects——Tables——Oracle Data Types Oracle伪列 在Oracle数据库之中为了实现完整的关 ...

  6. Oracle伪列rownum

    Oracle基础知识:伪列rownum,伪列就像表中的列一样,但是在表中并不存储.伪列只能查询,不能进行增删改操作. 在查询的结果集中,ROWNUM为结果集中每一行标识一个行号,第一行返回1,第二行返 ...

  7. oracle 之 伪列 rownum 和 rowid的用法与区别

    rownum的用法 select  rownum,empno,ename,job from emp where rownum<6 可以得到小于6的值数据 select rownum,empno, ...

  8. SQL基础--&gt; 约束(CONSTRAINT)

    --============================= --SQL基础--> 约束(CONSTRAINT) --============================= 一.几类数据完 ...

  9. Oracle数据库—— PL/SQL基础编程

    一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...

随机推荐

  1. Dom随手记

    设置用户粘贴板中的文本信息:window.clipboardData.setData('Text', location.href); 获取用户粘贴板中的文本信息: window.clipboardDa ...

  2. GJM : 中断被Socket.Accept阻塞的线程

    原帖地址:http://blog.csdn.net/kingfox/article/details/7233350 原文作者:狐帝 刚刚学习C#,在编写一个网络通讯的程序的时候,遇到了点麻烦.监听代码 ...

  3. svg.js教程及使用手册详解(二)

    上篇简要介绍了svg.js的基本信息和基本用法,这篇开始详细讲解svg.js的用法. SVG元素 SVG元素主要包括各种形状.线条.文本.路径. 矩形——Rect Rects有两个参数,即矩形的宽度和 ...

  4. 【转载】Oracle递归查询:使用prior实现树操作【本文出自叶德华博客】

    本文标题:Oracle递归查询:使用prior实现树操作 本文链接:http://yedward.net/?id=41 本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处. Oracle ...

  5. Dynamics XRM Tools 2015 2016

    Download Link: Dynamics XRM Tools 2015/2016 Overview Dynamics XRM Tools brings you a quality range o ...

  6. Linux安全基础:find命令的使用

    find 命令用于查找文件系统中的指定文件. *命令格式:find pathname -option [-print -exex -ok] 1.pathname要查找的目录路径 ~表示home目录 . ...

  7. Android Hack1 使用weight属性实现视图的居中显示

    本文地址:http://www.cnblogs.com/wuyudong/p/5898403.html,转载请注明源地址. 如果要实现如下图所示的将按钮居中显示,并且占据父视图的一半,无论屏幕是否旋转 ...

  8. UIView

    //command+R   运行 //command+.   停止 //command+B   预编译 //command+1.2.3  模拟器大小 //command+shift+h  home键 ...

  9. Linux系统安装Apache 2.4.6

    Apache简介         Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广 ...

  10. 测试几个xml的问题

    使用sql server的时候,免不了与xml的参数打交道,xml大多数时候都给我们的程序带来方便,但是也有些时候会有变量赋值不通过的时候.(当然罗,如果你本身xml都通不过 xml spy 之类软件 ...