오라클, SQL, ANY(SOME), ALL, EXISTS
http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=605
3.2.7 ANY(SOME), ALL, EXISTS
ANY(SOME) : 주로 서브 쿼리와 함께 사용되며 서브쿼리에서 여러 개의 값이 나오게 되는 경우 이 값들에 대해 어떤 한 값 보다만 어떻다라고 비교할 때 사용된다. sal > any (500, 600, 700)와 같은 구문을 보면 sal > 500 or sal > 600 or sal > 700 형태로 해석되어 3개의 값 중 하나의 값인 500보다 크면 TRUE가 된다(sal > 500). 만약 700보다 크다면 모든 값보다 크게 된다.
ALL : ALL은 집합의 모든 값과 비교를 하게 되는데, 모든 값과 비교하여 TRUE가 되어야 한다. 예를 들어 급여가 500, 600, 700 모두 보다 큰 값을 원한다면 ALL을 사용하면 되는데 sal > all(500, 600, 700) 형태가 되는데 sal > 500 and sal > 600 and sal > 700의 의미로 결국 sal > 700와 같다.
ALL, ANY는 =, !=, >, <, <=, >= 연산자 앞에 나타나며 이어서 여러값을 가진 리스트나 서브쿼리가 오게된다.
EXISTS : 서브 쿼리가 적어도 하나의 행을 돌려주면 TRUE가 된다.
NOT EXISTS : 서브 쿼리가 적어도 하나의 행을 돌려주지 않으면 TRUE가 된다.
댓글 없음:
댓글 쓰기