SOME과 ANY는 명칭만 다를 뿐, 동일한 기능을 하는 연산자라고 생각하면 된다.

ANY, ALL은 서브쿼리와 함께 사용하는 다중 행 연산자이며, ANY는 조건을 만족하는 값이 하나라도 있으면 결과를 보여주고 ALL은 모든 값이 조건을 만족해야 결과를 보여준다.

 

ANY (SOME)

WHERE 100 = ANY (100, 200, 300) : ANY 값과 동일한 데이터인 100만 조회된다

WHERE 100 > ANY (100, 200, 300) : ANY의 최소값 100보다 큰 데이터인 200, 300이 조회된다

WHERE 100 >= ANY (100, 200, 300) : ANY의 최소값 100보다 크거나 같은 데이터인 100, 200, 300이 전부 조회된다

WHERE 100 < ANY (100, 200, 300) : ANY의 최대값 300보다 작은 데이터인 100, 200이 조회된다

WHERE 100 <= ANY (100, 200, 300) : ANY의 최대값 300보다 작거나 같은 데이터인 100, 200, 300이 전부 조회된다

WHERE 100 <> ANY (100, 200, 300) : ANY 값 중 모두 일치하지 않는 데이터가 조회된다

                                                 ANY의 값이 2개 이상인 경우, 해당 조건 의미 없이 모든 데이터가 조회된다

 

 

 

ALL

WHERE STUDENT > ALL (100, 200, 300) : ALL의 최대값 300보다 큰 데이터만 조회된다

WHERE STUDENT >= ALL (100, 200, 300) : ALL의 최대값 300보다 크거나 같은 데이터만 조회된다

WHERE STUDENT < ALL (100, 200, 300) : ALL의 최소값 100보다 작은 데이터만 조회된다

WHERE STUDENT <= ALL (100, 200, 300) : ALL의 최소값 100보다 작거나 같은 데이터만 조회된다

WHERE STUDENT = ALL (100, 200, 300) : ALL의 모든 값을 만족해야 데이터가 조회된다

                                                                      ALL 값이 2개 이상인 경우, 조건을 만족할 수 없어 사용할 수 없다

WHERE STUDENT <> ALL (100, 200, 300) : ALL의 모든 값과 일치하지 않는 데이터만 조회된다

+ Recent posts