더북(TheBook)

코드 9-20은 오류가 나는 코드 9-19의 비교 연산자(>=) 다음에 ANY를 추가합니다. 이 쿼리는 2019년 개봉 영화 중에서 2018년에 1~3위를 한 영화의 매출액보다 크거나 같은 영화를 조회합니다.

결과를 보면 총 5편의 영화가 조회됐죠. 조건 서브쿼리만 단독으로 실행하면 2018년 1~3위인 영화의 매출액 3건이 조회됩니다. 그리고 메인쿼리와 합쳐져 서브쿼리의 결과 집합보다 매출액이 크거나 같은 2019년 개봉 영화들이 조회됐습니다. 예를 들어 <기생충>의 매출액이 85,883,963,645원인데, 이 값은 조건 서브쿼리의 결괏값 중 80,010,440,345원보다 커서 결과로 조회됐습니다.

▲ 그림 9-2 ANY 연산자의 작동 방식

some은 일부라는 뜻이죠. 그래서 두 번째 연산자인 SOME을 사용하면 비교하려는 칼럼의 값이 조건 서브쿼리가 반환하는 값 중 일부를 만족하는지 확인합니다. 사실 SOMEANY와 작동 방식이 같아서 SOME을 사용하든 ANY를 사용하든 결과는 같습니다. 앞의 코드에 ANY 대신 SOME을 넣고 실행해 보세요.

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