더북(TheBook)

3 정답

UPDATE box_office_copy a, box_office b
   SET a.last_year_audi_num = b.audience_num
 WHERE a.ranks = b.ranks
   AND YEAR(b.release_date) = 2018;

해설 box_office 테이블에 있는 audience_num 값을 box_office_copy 테이블의 last_year_audi_num 값으로 변경해야 하므로 다중 테이블 UPDATE 문을 사용합니다. UPDATE 다음에 두 테이블을 별칭과 함께 콤마로 구분해 명시합니다. 그리고 SET 절에 수정할 칼럼과 값을 명시하는데, a.last_year_audi_num = b.audience_num이라고 기술하면 box_office_copy 테이블의 last_year_audi_num 칼럼 값을 box_office 테이블의 audience_num 칼럼 값으로 수정합니다. 또한, 순위가 같은 건만 변경해야 하므로 WHERE 절에 a.ranks = b.ranks라는 조회 조건도 기술합니다. 이때 수정할 값이 box_office 테이블에서 2018년 개봉 영화의 순위이므로 YEAR(b.release_date) = 2018라는 조건을 추가합니다.

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