[sql] 서브쿼리를 사용한 데이터 갱신

예를 들어, “employees” 테이블에서 “salary” 열을 갱신하는 경우를 살펴보겠습니다. “department_id”가 2인 부서에 속한 직원들의 급여를 증가시키고 싶다고 가정해 보겠습니다.

UPDATE employees
SET salary = salary * 1.1
WHERE department_id = 2;

이제, 서브쿼리를 사용하여 해당 부서 직원 중 가장 높은 급여를 갖고 있는 사람을 찾아 갱신하는 방법을 보여 드리겠습니다.

UPDATE employees
SET salary = salary * 1.1
WHERE employee_id = (
    SELECT employee_id
    FROM employees
    WHERE department_id = 2
    ORDER BY salary DESC
    LIMIT 1
);

위의 예에서, 서브쿼리는 “department_id”가 2인 부서에 속한 직원 중 가장 높은 급여를 갖고 있는 직원의 “employee_id”를 반환합니다. 이 값을 사용하여 해당 직원의 급여를 증가시킬 수 있습니다.

서브쿼리를 사용하는 것은 복잡하더라도 SQL을 능숙하게 다루는 데 매우 유용한 방법입니다.