Oracle中ROWID和ROWNUM的用法
ROWID的用法:
ROWID是数据的详细地址,通过rowid,oralce可以快速的定位某行具体的数据的位置。
- select a.*, rowid from 表名 a where 列名 = '值'
ROWID常用用法1:
- select a.*, a.rowid from 表名 a where 列名 = '值';
点击
即可进行这一行值的修改。
修改后点击
,然后点击
修改保存完成。
ROWID常用用法2:(删除重复记录)
DELETE FROM EMP E
WHERE E.ROWID >; (SELECT MIN(X.ROWID)
FROM EMP X
WHERE X.EMP_NO = E.EMP_NO);
最高效的删除重复记录方法 ( 因为使用了ROWID)
ROWNUM的用法:
ROWNUM表示查询某条记录在整个结果集中的位置,同一条记录查询条件不同对应的rownum是不同的而rowid是不会变的。
rownum表明了查询记录的顺序,返回的第一条row的序号为1,第二条row的序号为2,以此类推。
用法:
1.可通过rownum限制返回结果的记录数。
- select rownum from test where rownum < 10
2.通过rownum为表中某列产生一个唯一(UNIQUE)值
- update table_name set column_name = rownum
3.依靠重命名列,和子查询可以实现rownum>10的查询
- select count(*) from(select t.*,rownum rn from ljb_test t)where rn > 10
4.Oracle的分页查询,也是通过ROWNUM实现的(分三层实现,方便记忆)
❌错误示例:
select rownum,empno,ename,sal from emp where rownum>=5 and rownum<=8;
✅正确示例:
select *
from (select rownum r,e1.*
from (select * from emp order by sal) e1
where rownum <=8
)
where r >=5;
注:rownum应用中>,>=,=,between...and条件,返回结果都为空。
觉得对你有帮助或者喜欢的可以点个赞哦~~