더북(TheBook)

코드 10-19를 보면 UPDATE 다음에 emp_update2, emp_update1 두 테이블과 별칭을 명시합니다. 그리고 SET 절에서 a.salary = b.salary + 1000이라고 기술하는데, 이는 emp_update2 테이블의 salary 칼럼 값을 emp_update1 테이블의 salary 칼럼 값에 1000을 더한 값으로 변경하라는 의미입니다. 마지막으로 WHERE 절에는 두 테이블의 기본 키 칼럼이 같은 건이라는 조인 조건을 기술합니다. emp_update2 테이블에는 사번이 1001~1004인 사원이, emp_update1 테이블에는 1001~1009, 1019, 1020인 사원이 있습니다. 두 테이블을 조인하면 emp_update2 테이블에 속한 1001~1004에 해당하는 사원의 salary 값이 변경됩니다.

결과를 보면 salary 값이 NULL인 사원을 제외한 1001, 1004번 사원은 salary 칼럼의 값이 1000이 더해진 값으로 수정됐습니다.

코드 10-20

UPDATE emp_update2 a, emp_update1 b
   SET b.salary = IFNULL(b.salary, 0),
       a.salary = b.salary + 2000
 WHERE a.emp_no = b.emp_no;

SELECT *
  FROM emp_update2;

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