더북(TheBook)

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;

실행결과

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