Oracle中的伪列

伪列的概念:伪列不属于任何一张表,但是会被所有的表共享

 

一、rownum:逻辑伪列(1,2,3,4,5...)

  不同SQL语句在执行时,rownum的值不一致;

  在相同SQL语句执行时,rownum的值不变。(在第一次查询后,rownum保持不变)

 

二、rowid:物理伪列,18位

    前6位: 数据对象编号

    依次往后数3位:数据文件编号

    依次往后数6位:数据块编号

    依次往后数3:行号

    举例:使用用rowid字段实现去重:select stuno, min(rowid) from student group by stuno;

  

posted @ 2021-08-26 23:10  Brack_Pearl  阅读(194)  评论(0编辑  收藏  举报