update关联更新

Posted scan724

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了update关联更新相关的知识,希望对你有一定的参考价值。

create table emp(EMPNO varchar2(20),ENAME varchar2(20),deptno varchar2(20),dname varchar2(20));

insert into emp values(7599,\'WORD\',30,\'CCC\');

select * from emp;

    EMPNO ENAME DEPTNO DNAME
1 7369 SMITH 20 AAA
2 7499 ALLEN 10 BBB
3 7599 WORD 30 CCC


create table dept (deptno varchar2(20),dname varchar2(20));

insert into dept values(10,\'SALES\');
insert into dept values(20,\'IT\');

insert into dept values(30,\'HR\');


UPDATE emp
   SET emp.dname =
       (SELECT dept.dname
          FROM dept
         WHERE dept.deptno = emp.deptno
           AND dept.deptno IN (10, 20));
           
select * from emp;
  

    EMPNO ENAME DEPTNO DNAME
1 7369 SMITH 20 IT
2 7499 ALLEN 10 SALES
3 7599 WORD 30

可以看到deptno=30的被更新成空的了

select * fr

以上是关于update关联更新的主要内容,如果未能解决你的问题,请参考以下文章

关于SQL UPDATE关联更新

SQl update 多表关联 问题

update关联更新

mssql sql高效关联子查询的update 批量更新

sqlserver关联更新问题

两个表之间关联更新字段