伪列、去重、分页

伪列并不是用户在建立数据库对象时由用户完成的,而是Oracle自动帮助用户建立的。
伪列分为两种,一种是rowid一种是rownum
ROWID:在数据表中每一行所保存的记录,实际上Oracle都会默认为每条记录分配一个唯一的地址编号。

rowid主要用途是用于去除重复数据,
例如:mydept表中由于操作失误所以导致mydept表中有许多的重复数据。要求用户讲所有重复数据删除到只剩一条。
DELETE FROM mydept WHERE ROWID NOT IN( SELECT MIN(ROWID) FROM mydept GROUP BY deptno) ;

ROWNUM:一个数据行编号的伪列,他的内容是在用户查询数据的时候,为用户动态分配的一个数字。

rownum主要用途是分页
例如:
取出一个查询的第1行记录
SELECT * FROM emp WHERE ROWNUM=1 ;
取出一个查询的前5行记录
SELECT * FROM
(SELECT empno,ename,job,hiredate,sal,mgr,deptno,ROWNUM rn FROM emp WHERE ROWNUM<=5) temp
WHERE temp.rn>0 ;
显示雇员表中的6~10条记录
SELECT * FROM (SELECT empno,ename,job,hiredate,sal,mgr,deptno,ROWNUM rn
FROM emp WHERE ROWNUM<=10) temp
WHERE temp.rn>5

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值