您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页oracle数据库之rownum和rowid用法

oracle数据库之rownum和rowid用法

来源:意榕旅游网
oracle数据库之rownum和rowid⽤法

Rownum 和 Rowid是Oracle数据库所特有的,通过他们可以查询到指定⾏数范围内的数据记录。

以下通过例⼦讲解:-- 为了⽅便,⾸先,查找dept表中的所有。select deptno,dname,loc from scott.dept;

-- Rownum

-- 可以查询 rownum(⾏数) 为 1 的数据select rownum,deptno,dname,locfrom scott.deptwhere rownum = 1;

-- 如果直接查询 rownum 为 2 的数据,返回是 null-- 因为 rownum 是临时产⽣的⼀个“伪列”

-- 是先获取到全部的数据之后,才决定如何分配 rownum-- 需要先搞定 1,才能知道下⼀个是 2,即需要从1开始查起。

-- 查询最前⾯两条的记录select rownum,deptno,dname,locfrom scott.deptwhere rownum < 3;

-- 会从1开始查起,查到后接着查询2...直到不符合条件。

-- 下⾯查询结果为 null,因为1没有查,接下来的⽆从查起。select rownum,deptno,dname,locfrom scott.deptwhere rownum > 3;

-- 从1开始查起,直到全部。select rownum,deptno,dname,locfrom scott.deptwhere rownum > 0;

-- Rowid是⼀串随机⽣成的字符串,也是 Oracle 提供的⼀个数列。-- Rownum 和 Romid 区别-- ⼀般情况下,每⼀⾏数据对应⼀个 rowid,这个值是固定⽽且唯⼀的。-- 在这⾏数据存⼊数据库的时候,就确定的了,⾃动⽣成的。-- 相当于我们 Java 对象在堆内存中对应有⼀个固定的地址值。-- 可以使⽤ rowid 来查询记录,通过它可以提⾼我们的查询速度-- 因为会有⼀张表单独保存 rowid,如果在查询的时候,-- 需要扫描的列越少,速度就会越快,也是 oracle 查询最快的⽅式之⼀-- rowid 在你的表发⽣移动时候,也会跟着⼀起发⽣改变。-- 最⼤的⼀个作⽤:因为是唯⼀的,可以⽤来避免重复数据。select rowid, deptno, dname, locfrom scott.dept

where rowid = 'AAAR3qAAEAAAACHAAC';

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务