더북(TheBook)

9.3.2 ANY, SOME, ALL 연산자를 사용한 조건 서브쿼리

조건 서브쿼리가 반환하는 값의 건수가 여러 개일 때는 비교 연산자와 함께 ANY, SOME, ALL 등의 연산자를 함께 사용해야 합니다.

 

ANY와 SOME 연산자

ANY 연산자부터 알아봅시다. any는 ‘어느, 어떤’이라는 뜻이죠. 단어의 의미처럼 비교하려는 칼럼의 값이 조건 서브쿼리가 반환하는 여러 값(비교 값) 중 어느 하나와 비교 조건을 만족하면 됩니다.

그럼 앞의 코드가 작동하도록 ANY 연산자를 넣어 수정해 봅시다.

코드 9-20

SELECT ranks, movie_name, sale_amt
  FROM box_office
 WHERE YEAR(release_date) = 2019
   AND sale_amt >= ANY (SELECT sale_amt
                          FROM box_office
                         WHERE YEAR(release_date) = 2018
                           AND ranks BETWEEN 1 AND 3);

실행결과

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