oracle几个经典题目

select * from scott.emp where deptno in (select deptno from scott.dept where dname='SALES');
select * from scott.emp where exists (select 1 from scott.dept where emp.deptno=dept.deptno and dname='SALES')

--删除表中的重复值(主要是弄清rowid)
 delete from emp_bak e
  where e.rowid >
        (select min(x.rowid) from emp_bak x where x.empno = e.empno)

  delete from emp_bak
   where rowid not in (select max(rowid) from emp_bak group by empno)

  select *  from emp_bak
   where empno  in (select empno from emp_bak group by empno)

select t.rowid, t.* from emp_bak t


select * from emp_bak

create table emp_bak1
as select * from emp_bak


select * from emp_bak1

update emp_bak1 set sal = sal + 1000

update emp_bak1 set comm = nvl(comm ,0 ) + 500

 



把一个表的值覆盖另一个表中的值
  update emp_bak b
     set b.sal =
         (select sal from emp_bak1 a where a.empno = b.empno),
         b.comm =
         (select comm from emp_bak1 a where a.empno = b.empno)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值