Skip to content

SQL에서 조회 후 업데이트하기

SQL에서 특정 조건에 맞는 데이터를 조회한 후,
그 데이터를 업데이트하는 것은 매우 일반적인 작업입니다.
이 문서에서는 데이터를 조회 후 업데이트를 구현하는 방법과 그와 관련된 몇 가지 SQL 예제를 제공합니다.

1. 조회 후 업데이트하기

조회 후 업데이트를 할 때는 다음과 같은 절차를 따릅니다:

  1. 조회 쿼리 작성: 업데이트하려는 데이터의 조건을 확인하기 위한 조회 쿼리를 작성합니다.
  2. 업데이트 쿼리 작성: 조회된 결과를 기반으로 데이터베이스를 업데이트합니다.

예를 들어, Sales 부서에 속한 모든 직원의 급여를 'abc'로 업데이트하려고 할 때, 다음과 같이 할 수 있습니다:

예제: IN 문을 사용한 조회 후 업데이트

sql
-- Sales 부서에 속한 직원의 급여를 'abc'로 업데이트
UPDATE employees
SET salary = 'abc'
WHERE id IN (
    SELECT id
    FROM employees
    WHERE department = 'Sales'
);

위 예제에서는 IN 절을 사용하여 Sales 부서의 직원들을 조회한 후, 해당 직원들의 급여를 업데이트하고 있습니다. 이 방법은 조회된 결과에 포함된 id와 일치하는 행만 업데이트합니다.

조회 후 조건에 맞춰 업데이트 구현 예제

데이터를 조회하여 특정 조건에 맞는 데이터를 업데이트하는 방법은 다양한 상황에서 사용됩니다. 예를 들어, 부서가 Sales인 직원의 급여를 조회한 후 조건에 맞게 변경하려는 경우를 생각해 볼 수 있습니다.

예제: 조회 후 조건에 맞춰 업데이트

sql
-- 1. 급여가 5000 이하인 Sales 부서 직원 조회
SELECT id, name, salary
FROM employees
WHERE department = 'Sales' AND salary <= 5000;

-- 2. 조회된 직원의 급여를 5500으로 업데이트
UPDATE employees
SET salary = 5500
WHERE id IN (
    SELECT id
    FROM employees
    WHERE department = 'Sales' AND salary <= 5000
);

위 예제는 다음과 같은 단계로 진행됩니다:

  1. 조회 쿼리: Sales 부서에서 급여가 5000 이하인 직원들을 조회합니다.
  2. 업데이트 쿼리: 조회된 결과에서 id를 이용해, 해당 직원들의 급여를 5500으로 업데이트합니다.

이 방식은 매우 효율적으로 데이터를 조회하고, 조회된 결과에 따라 조건부 업데이트를 수행할 수 있는 방법입니다.

참고 사항

  • 조회와 업데이트의 결합: 조회와 업데이트는 SQL의 서브쿼리, JOIN, EXISTS 등을 이용하여 결합할 수 있습니다.
  • 트랜잭션 관리: 복잡한 조회와 업데이트의 경우, 트랜잭션을 사용하여 일관성을 유지하고 오류 발생 시 롤백할 수 있도록 관리하는 것이 좋습니다.

이와 같이 SQL을 활용하여 다양한 조건에 맞는 데이터를 조회하고 업데이트할 수 있습니다.

MIT 라이선스에 따라 릴리즈되었습니다.