SQL/oracle

oracle SQL - UPDATE + 서브쿼리

jun.s.gi 2023. 5. 22. 01:12
728x90
UPDATE table
SET column = value[, column = value...]
[WHERE = 조건];

일반적인 UPDATE문, 여러 열을 수정시 콤마(,)로 구분합니다.

 

UPDATE 절에 서브 쿼리

1. SET 절에서 변경할 값 대신 값을 반환할 서브 쿼리를 사용합니다.

2. UPDATE 대상 테이블과 서브 쿼리에서 사용하는 테이블이 서로 다른 경우도 허용합니다.

 

UPDATE emp300
SET salary = (SELECT salary FROM y_emp
	      WHERE emp_id = 1038),
    
    dept_id = (SELECT dept_id FROM y_emp
    	       WHERE emp_id = 1038)
WHERE emp_id = 1087;

설명 : emp300 테이블에 emp_id가 1087인 행의 salary열을 y_emp 테이블에 사원 ID가 1038인 사원의 급여로 수정하고,

dept_id를 y_emp 테이블에 사원 ID가 1038인 사원의 부서번호로 수정합니다.

728x90