코드 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을 사용하면 비교하려는 칼럼의 값이 조건 서브쿼리가 반환하는 값 중 일부를 만족하는지 확인합니다. 사실 SOME은 ANY와 작동 방식이 같아서 SOME을 사용하든 ANY를 사용하든 결과는 같습니다. 앞의 코드에 ANY 대신 SOME을 넣고 실행해 보세요.