SQL 8-6. 서브 쿼리로 두 열 갱신
관련링크
본문
여러 서브 쿼리를 작성하면 UPDATE문의 SET절에서 여러 열을 갱신할 수 있다.
MSSQL 디비 예제 :
SELECT * FROM employee WHERE emp_id = 'PSA89086M'
UPDATE employee SET
job_id = (SELECT job_id FROM employee WHERE emp_id = 'ARD36773F'),
job_lvl = (SELECT job_lvl FROM employeeWHERE emp_id = 'PMA42628M')
WHERE emp_id = 'PSA89086M'
SELECT * FROM employee WHERE emp_id = 'PSA89086M'
MSSQL 디비 예제 :
SELECT * FROM copy_emp
WHERE job_id = (SELECT job_id FROM employee
WHERE emp_id = 'ARD36773F')
UPDATE copy_emp
SET pub_id = (SELECT pub_id FROM employee WHERE emp_id ='PMA42628M')
WHERE job_id = (SELECT job_id
FROM employee
WHERE emp_id = 'ARD36773F');
SELECT * FROM copy_emp
WHERE job_id = (SELECT job_id
FROM employee WHERE emp_id = 'ARD36773F')
예제) 서브 쿼리로 두 열 갱신
사원 114의 업무 및 급여를 사원 205의 업무 및 급여와 일치 하도록 갱신합니다.
오라클 디비 예제 :
UPDATE employees
SET job_id = (SELECT job_id FROM employees WHERE employee_id = 205),
salary = (SELECT salary FROM employees WHERE employee id = 205)
WHERE employee_id = 114;