코드 9-23
SELECT ranks, movie_name, director
FROM box_office
WHERE YEAR(release_date) = 2019
AND (movie_name, director) IN (SELECT movie_name, director
FROM box_office
WHERE YEAR(release_date) = 2018);
실행결과
코드 9-23은 코드 9-22와 비슷한데, 비교 대상에 영화 감독(director) 칼럼을 추가합니다. 이렇게 2개 이상의 칼럼 값을 IN 연산자로 동시에 비교할 때는 (movie_name, director)처럼 콤마로 구분하고 소괄호로 감쌉니다. 또한, 조건 서브쿼리에서도 영화 제목과 감독을 비교해야 하므로 SELECT 절에 movie_name과 director를 명시합니다. 따라서 이 쿼리는 영화 제목과 감독 이름을 한 쌍으로 조건을 비교해 둘 다 일치하는 건을 걸러냅니다. 결과를 보면 2편의 영화가 조회됐네요. 영화 제목과 감독까지 같으니 두 영화는 같은 영화라고 판단해도 되겠네요.