原因一 oracle默认为每个表生成rowmun,rowid字段,这些字段我们称之为伪列

测试表

 CREATE TABLE A
(
AID NUMBER() primary key,
ANAME VARCHAR2()
) insert into A values(,'甲骨文');
insert into A values(,'微软');
insert into A values(,'ioe');
insert into A values(,'iBe');
insert into A values(,'iAe'); insert into A values(,'甲骨文1'); insert into A values(,'微软3');
insert into A values(,'ioe4');
insert into A values(,'iBe5');
insert into A values(,'iA11');
简单的分页  例:SELECT ROWNUM  ,a.FROM A a;

既然提到了 ROWNUM 就提下ROWID把

例子:SELECT rowid,rownum,AID,ANAME FROM A;

oracle数据库的表中的每一行数据都有一个唯一的标识符,或者称为rowid,在oracle内部通常就是使用它来访问数据的。rowid需要 10个字节的存储空间,并用18个字符来显示。该值表明了该行在oracle数据库中的物理具体位置。可以在一个查询中使用rowid来表明查询结果中包含该值。

 保存rowid需要10个字节或者是80个位二进制位。这80个二进制位分别是:
. 数据对象编号,表明此行所属的数据库对象的编号,每个数据对象在数据库建立的时候都被唯一分配一个编号,并且此编号唯一。数据对象编号占用大约32位。
. 对应文件编号,表明该行所在文件的编号,表空间的每一个文件标号都是唯一的。文件编号所占用的位置是10位。
. 块编号,表明改行所在文件的块的位置块编号需要22位。
. 行编号,表明该行在行目录中的具体位置行编号需要16位。
这样加起来就是80位。 Oracle的物理扩展ROWID有18位,每位采用64位编码,分别用A~Z、a~z、~、+、/共64个字符表示。A表示0,B表示1,……Z表示25,a表示26,……z表示51,0表示52,……,9表示61,+表示62,/表示63。 owid一般用不到,Oracle内部用来存储行的物理位置,和分页相关的就是rownum,也就是行号

1.查询小于4的行,查询出三条结果

SELECT ROWNUM,a.* FROM A a where rownum <;

2 查询大于2小于5的行

例子:select rownum,Aid,aname from A where rownum> and rownum <;

你会发现这个为空,

ROWNUM  只适用与小于或者小于等于,如果进行等值判断那么只能为1

ROWNUM 在oracle是系统分配顺序的编号,返回的第一行分配的是1,第二行是2,后面依次类推

ROWNUM 总是从1开始

ROWNUM 若进行等值判断 需要满足两个条件ROWNUM>,则第一行被去掉,之前的第二行变为新的第一行,如此下去,一直到最后,条件都无法满足,所以一条数据都无法查出
.分页的正确,应该用嵌套的SQL

select rownum ,a.AID FROM
(SELECT ROWNUM ,AID,ANAME FROM A) a
where rownum> and rownum<;

,如果要进行分页

加入现在是第num页,每页显示PAGESIZE条记录,则这个如何写
r>PAGESIZE*(num-) 前面的页数
r<PAGESIZE*num+ 后面的页数

5.还有一种用函数计算范围 between and

SELECT *
FROM (SELECT a.*, ROWNUM FROM (SELECT * FROM A) a)
WHERE ROWNUM BETWEEN AND ;

Oracle 分页 ROWNUM 两种分页方法和ROWID用法的更多相关文章

  1. SQL Server两种分页的存储过程介绍

          由于现在很多的企业招聘的笔试都会让来招聘的写一个分页的存储过程,有的企业甚至要求应聘者用两种方式实现分页,如果没有在实际项目中使用过分页,那么很多的应聘者都会出现一定的问题,下面介绍两种分 ...

  2. lucene的两种分页操作

    基于lucene的分页有两种: lucene3.5之前分页提供的方式为再查询方式(每次查询全部记录,然后取其中部分记录,这种方式用的最多),lucene官方的解释:由于我们的速度足够快.处理海量数据时 ...

  3. PostgreSQL两种分页方法查询时间比较

    数据库中存了3000W条数据,两种分页查询测试时间 第一种 SELECT * FROM test_table WHERE i_id> limit 100; Time: 0.016s 第二种 SE ...

  4. mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法

    win10很完美,用的也很舒服!当然人无完人,也总有不尽如人意的时候.比如说我们经常用的远程mstsc,就出现了一个坑,既然出现坑了,我们就得把坑解决掉吧!下面就记录一下这个坑的解决方法. 本文地址: ...

  5. .Net 中读写Oracle数据库常用两种方式

    .net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...

  6. /*透明度设置的两种方式,以及hover的用法,fixed,(relative,absolute)这两个一起用*/

    <!DOCTYPE html> /*透明度设置的两种方式,以及hover的用法,fixed,(relative,absolute)这两个一起用*/ <html lang=" ...

  7. MongoDB实现分页(两种方法)

    1.插入实验数据 偷懒用下samus,100条. ; i < ; i++) { Document doc = new Document(); doc["ID"] = i; d ...

  8. sql server两种分页方法

    方法一: --分页方法一 OrderID,CustomerID, EmployeeID,OrderDate,ShippedDate,ShipName,ShipAddress,Freight from ...

  9. [转载]EasyUI Pagination 分页的两种做法

    EasyUI 的 datagrid 支持服务器端分页,但是官方的资料比较少,以下总结了两种 datagrid 的服务器端分页机制,可根据情况具体使用. 一:使用 datagrid 默认机制 后台: p ...

随机推荐

  1. 使用echarts去对数据进行图形分析

    首先导入js包:echarts.min.js <script type="text/javascript" src="js/echarts.min.js" ...

  2. openlayers5-webpack 入门开发系列一初探篇(附源码下载)

    前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载 ...

  3. Python numpy的基本操作你一般人都不会

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.  PS:如有需要最新Python学习资料的小伙伴可以加点击下方链接自行获取 ...

  4. Orleans在.net core的开发

    Goods 服务 启动 using System; using System.Collections.Generic; using System.Linq; using System.Net; usi ...

  5. ASP.NET Core 选项模式源码学习Options IOptionsMonitor(三)

    前言 IOptionsMonitor 是一种单一示例服务,可随时检索当前选项值,这在单一实例依赖项中尤其有用.IOptionsMonitor用于检索选项并管理TOption实例的选项通知, IOpti ...

  6. 基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结

    基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结 先看看官方的接口 组委会指定的模块接口 信号定义说明: VDD:3.3v GND:地 SCK:摄像头寄存器的iic配置信号的时钟线 ...

  7. Day 08 作业

    有如下值集合 [11, 22, 33, 44, 55, 66, 77, 88, 99, 90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中 ​ ...

  8. mini_magick上传图片

    rails上传图片需要用到的gem: gem 'carrierwave'gem 'mini_magick' 在项目Gemfil中添加上面的两个gem,然后bundle install 然后创建modl ...

  9. verilog设计加法器

    概述 本文利用了硬件行为描述.数据流描述.结构描述三种方法分别写了几个加法器 一位半加法器 即两个一位的二进制数相加,得到其正常相加的结果的最后一位. 仿真波形图 硬件行为描述 设计文件 123456 ...

  10. 自建邮件服务器域名解析设置(A与MX记录)

    自建邮件服务器域名解析设置(A与MX记录) 前言 如果域名没有做解析,只能用于内网收发邮件.要想实现与外网邮箱的收发,需要做域名解析.是在"域名解析后台"进行设置(域名提供商提供& ...