先看一个题:查询emp表的信息,显示前5行数据,这时候我们就需要使用伪列(rownum)的概念。
  rownum在数据表并不是一个真实的列,其实每一行应该都有一个行号,这个伪列就是用来记录这个行号的,这个列可以进行一些操作,比如取等于和小于操作,不能取大于操作。
  *****查询emp表的信息,显示前5行数据*****
  SELECT * FROM emp WHERE rownum <= 5 ;
  如果我们要查询第5-10行数据,这时候该怎么办?就需要使用到子查询。
  SELECT * FROM ( SELECT rownum r,emp.* FROM emp ) a
  WHERE a.r between 5 and 10
  *****查询emp表中的员工信息,只显示后面一半的员工信息*****

  SELECT * FROM ( SELECT rownum r,emp.* FROM emp ) a
  WHERE a.r <=(SELECT COUNT(empno) FROM emp) ;
  在Oracle中,除了有伪列的概念,还有伪表的概念。比如,要查询当前的日期是什么,我们知道函数是SYSDATE,而SQL语句需要使用SELECT sysdate从SQL语法的角度是不完整的,所以需要使用伪表tab,完整语句为:SELECT sysdate FROM tab,例如:SELECT dbms_random.value(0,1) FROM dual,也是使用了伪表(dual)。

Oracle伪列(ROWNUM)的使用的更多相关文章

  1. Oracle伪列rownum

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

  2. 关于Oracle伪列rownum

    rownum列跟rowid列不一样,虽然同为表的伪列.但是rowid列是列的一个固定属性,而rownum列是结果集的一个排序.所以像如下查询是不会返回结果的:select rowid,rownum,e ...

  3. Oracle的数据伪列(ROWNUM)

    作者:Vashon 时间:20150414 数据库:Oracle11g 数据伪列(ROWNUM) *范例:查询前5条记录:select rownum,empno,job,hiredate,sal fr ...

  4. oracle伪列

    Oracle的伪列以及伪表 oracle系统为了实现完整的关系数据库功能,系统专门提供了一组成为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象时由我们完成的,而是在我们建立时由Ora ...

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

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

  6. 用运oracel中的伪列rownum分页

    在实际应用中我们经常碰到这样的问题,比如一张表比较大,我们只要其中的查看其中的前几条数据,或者对分页处理数据.在这些情况下我们都需要用到rownum.因此我们要理解rownum的原理和使用方法. Or ...

  7. 伪列ROWNUM、ROWID部分用法

    ROWNUM是逻辑值,不可以参与计算 ROWID是物理值,可以参与计算 在ROWNUM和ROWID使用中,现将查找结果形成一个结果集 在结果集中给ROWID 和ROWNUM别名,在外层中使用这个别名找 ...

  8. Oracle 伪列

    ROWNUM ROWNUM:表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现. 范例:在查询雇员表上,加入 ROWNUM SELECT ROWNUM,empno,ename,j ...

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

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

随机推荐

  1. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——VoiceRecorder控件的使用方式.Net移动开发

    一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个VoiceRecorder控件和一个ImageButton控件到 ...

  2. [转]gitlab cicd (二)系列之安装git-runner rpm安装方式

    本文转自:https://blog.csdn.net/qq_21816375/article/details/84308748 本编是继gitlab cicd (一)系列之安装gitlb之后,基于安装 ...

  3. MySQL中 and or 查询的优先级

    这个可能是容易被忽略的问题,首选我们要清楚:MySQL中,AND的执行优先级高于OR.也就是说,在没有小括号()的限制下,总是优先执行AND语句,再执行OR语句.比如: select * from t ...

  4. Android安全–检测是否为Android模拟器

    有时候需要检测是否在模拟器上运行还是在真机运行,话不多说.检测代码如下: package com.monkey.antiemulator; import java.io.File; import ja ...

  5. 预防sql注入

    前言: 这两天做项目的时候发现很多小地方没有注意js或者sql注入,平时登录都是md5加密,今天突然发现记录一下. 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字 ...

  6. Access denied for user 'root'@'localhost' (using password:YES) Mysql5.7

    解决方案: (1) 打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件.(my.ini在C:\ProgramData\MySQL\MyS ...

  7. java基础中this,super

    this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类. this的用法就不累赘的说 ...

  8. IPD体系向敏捷开发模式转型实施成功的四个关键因素

    文/杨学明  集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式.随着创新环境的快速发展,许多企业都会 ...

  9. Linux 环境下 Git 安装与基本配置

    索引: 目录索引 参看代码 GitHub: git.txt 一.Linux (DeepinOS) 环境 1.安装 sudo apt-get update sudo apt-get install gi ...

  10. SQLServer之存储过程简介

    存储过程定义 存储的过程 (存储过程(数据库引擎)) 是存储在数据库中的可执行对象. 存储过程分类 系统存储过程   系统存储过程是 SQL Server系统自身提供的存储过程,可以作为命令执行各种操 ...