开始oracle的学习

首先下载安装时,就还好,前提是没有下载过,因为卸载是贼烦超级繁琐,还容易卸载不干净

其次呢,就是学习了

在scott用户里进行的   

去重和分页查询

/*
删除表中重复数据
*/

delete from emp2 
Where (ename,job,sal) in (
  select ename,job,sal from emp
  group by ename,job,sal
  having count(ename)>=2
);

select e2.*,e2.rowid from emp2 e2;
select e.*,e.rowid from emp e;
select * from emp2;
--通过rowid删除重复记录并且保留一条,
--方法一:
delete from 
emp2 where rowid not in(
select max(rowid) from emp2 e group by e.ename,e.job,e.sal
)

select * from myemp;
insert into myemp(empno,ename,job,sal,deptno,deptname,salgrade)
select * from myemp

delete from myemp where rowid not in
(
      select max(rowid) from myemp m group by m.ename,m.job,m.empno
)
--方法二
 DELETE FROM TABLE_NAME A
 WHERE ROWID NOT IN (SELECT MAX(ROWID)
                   FROM TABLE_NAME D
                  WHERE A.COL1 = D.COL1
                    AND A.COL2 = D.COL2);
select * from myemp;

delete from myemp m
where rowid not in(
select max(rowid) from myemp m1 where m.ename = m1.ename
and m.empno = m1.empno
and m.deptno=m1.deptno
)

/*
rownum:可以用来进行分页查询
显示工作最高的前5条记录
*/

select * from (select * from myemp order by sal desc) d where rownum<6;

--查询工资最高的6-10名

select *
  from (select d.*,rownum rn
          from (select * from myemp order by sal desc) d
         where rownum <11) d1
 where d1.rn >0;

/**
page =1; pagesize=10, statindex = 0,endindex =pagesize+1
page =2;pagesize=10,statindex = (pagesize*(page-1)),endindex = (page*pagesize)+1
page =3;pagesize=10,statindex = (pagesize*(page-1)),endindex = (page*pagesize)+1
*/
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值