Oracle伪列rowid和rownum的区别

Oracle伪列rowid和rownum的区别Oracle的伪列是Oracle表在存储的过程中或查询的过程中,表会有一些附加列,称为伪列。伪列就像表中的字段一样,但是表中并不存储。

欢迎大家来到IT世界,在知识的湖畔探索吧!

Oracle的伪列是Oracle表在存储的过程中或查询的过程中,表会有一些附加列,称为伪列。伪列就像表中的字段一样,但是表中并不存储。伪列只能查询,不能增删改。Oracle的伪列有:rowid、rownum。

ORACLE ROWID

Oracle表中的每一行在数据文件中都有一个物理地址, ROWID 伪列返回的就是该行的物理地址。使用 ROWID 可以快速的定位表中的某一行。 ROWID 值可以唯一的标识表中的一行。通过Oracle select 查询出来的ROWID,返回的就是该行数据的物理地址。


ROWID代码:

select t.*,t.rowid from stuinfo t ;
select t.*,t.rowid from stuinfo t where t.rowid='AAAShjAAEAAAAEFAAD';

欢迎大家来到IT世界,在知识的湖畔探索吧!

结果如下:

Oracle伪列rowid和rownum的区别

Oracle伪列rowid和rownum的区别

ORACLE ROWNUM

ORACLE ROWNUM表示的Oracle查询结果集的顺序,ROWNUM为每个查询结果集的行标识一个行号,第一行返回1,第二行返回2,依次顺序递增。

ROWNUM 与 ROWID 不同, ROWID 是插入记录时生成, ROWNUM 是查询数据时生成。ROWID 标识的是行的物理地址。 ROWNUM 标识的是查询结果中的行的次序。


ROWNUM代码:

欢迎大家来到IT世界,在知识的湖畔探索吧!select t.stuid,t.stuname,t.sex,t.classno,t.stuaddress ,rownum from stuinfo t ;

结果如下:

Oracle伪列rowid和rownum的区别

ROWNUM经常用来限制查询的结果返回的行数,求前几行或前几名的数据。


案例1、返回学生信息表中(stuinfo)中学生年龄最低的前四位同学。

代码:

select * from (select t.stuid, t.stuname, t.sex, t.classno, t.stuaddress, t.age, rownum
 from stuinfo t
 order by t.age asc) where rownum <=4;

结果如下:

Oracle伪列rowid和rownum的区别

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/38121.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信