[sql] UPDATE 문에서 JOIN 사용하여 데이터 수정하기

이번 포스트에서는 SQL UPDATE 문에서 JOIN을 사용하여 데이터를 수정하는 방법을 알아보겠습니다. JOIN을 사용하여 다른 테이블의 데이터를 참조하여 특정 조건에 맞게 데이터를 수정할 수 있습니다.

기본 문법

일반적인 UPDATE문의 기본 문법은 다음과 같습니다.

UPDATE 테이블1
SET 칼럼1 = 1, 칼럼2 = 2 
WHERE 조건

이제 JOIN을 추가하여 다른 테이블의 데이터를 참조하여 UPDATE하는 방법을 살펴보겠습니다.

JOIN을 이용한 UPDATE

UPDATE 테이블1
JOIN 테이블2 ON 조인_조건
SET 테이블1.칼럼1 = 1, 테이블1.칼럼2 = 2
WHERE 조건

위 쿼리에서, 테이블1은 수정하려는 테이블이며 테이블2는 참조하려는 테이블입니다. 조인 조건에 따라 테이블을 결합한 후, SET 절과 WHERE 절을 사용하여 데이터 수정 조건을 지정합니다.

예를 들어, employees 테이블에서 department 테이블을 조인하여 salary를 수정하는 쿼리는 다음과 같을 수 있습니다.

UPDATE employees
JOIN department ON employees.dept_id = department.dept_id
SET employees.salary = employees.salary * 1.05
WHERE department.name = 'IT'

위 예제에서는 employees 테이블과 department 테이블을 조인하여 부서가 ‘IT’인 직원들의 월급을 5% 인상하였습니다.

이처럼 JOIN을 이용하여 UPDATE문을 작성하면 조인된 다른 테이블의 데이터를 참조하여 보다 다양한 조건에 맞게 데이터를 수정할 수 있습니다.

이상으로 SQL에서 JOIN을 사용하여 데이터 수정하는 방법에 대해 알아보았습니다.