10.2.2 다중 테이블 데이터 수정하기

    UPDATE 문을 사용해 다중 테이블, 즉 2개 이상의 테이블을 대상으로 값을 변경할 수도 있습니다. 여기서 다중 테이블은 두 가지 의미가 있습니다. 하나는 한 테이블의 값을 변경할 때 다른 테이블의 값을 참조해서 변경할 수 있다는 뜻이고, 다른 하나는 2개 이상의 테이블 값을 동시에 변경할 수도 있다는 뜻입니다. 먼저 구문을 살펴보겠습니다.

    구문 10-5

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

    다중 테이블 UPDATE 문은 UPDATE 다음에 2개 이상의 테이블을 명시할 수 있습니다. 2개 이상의 테이블을 명시한다는 것은 테이블 간 관계를 이용해서 다른 테이블의 칼럼을 참조해 값을 변경한다는 의미입니다. 이런 경우에는 WHERE 절에 테이블 간 관계 정보인 조인 조건을 기술할 수 있습니다. 그리고 다중 테이블 UPDATE 문에서는 ORDER BYLIMIT 절을 사용할 수 없습니다.

    코드 10-19

    UPDATE emp_update2 a, emp_update1 b
       SET a.salary = b.salary + 1000
     WHERE a.emp_no = b.emp_no;
    
    SELECT *
      FROM emp_update2;

    실행결과

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.