SQL EXISTS |
SQL >
SQL인스트럭션 >
EXISTS
EXISTS 은 내부 쿼리가 어떤 행을 반환하는지 테스트하기 위해 서브쿼리 에서 사용되는 부울 연산자입니다. 그렇다면 외부 쿼리가 진행됩니다. 그렇지 않으면 외부 쿼리가 실행되지 않으며 전체 SQL 문이 아무것도 반환하지 않습니다. 구문EXISTS의 구문은 다음과 같습니다: SELECT "필드명1"
FROM "도표명1" WHERE EXISTS (SELECT * FROM "도표명2" WHERE "조건"); 내부 쿼리에서 * 대신 하나 이상의 열을 선택할 수 있다는 점을 주의하세요. 효과는 동일합니다. 예제이 예제에서는 다음과 같은 테이블을 사용합니다. Store_Information 도표
Geography 도표
다음 SQL 쿼리는 다음과 같습니다: SELECT SUM(Sales) FROM Store_Information
WHERE EXISTS (SELECT * FROM Geography WHERE Region_Name = 'West'); 아래와 같은 결과를 생성합니다:
처음에는 혼동스러울 수 있습니다. 왜냐하면 하위 쿼리에는 [region_name = 'West'] 조건이 포함되어 있지만, 쿼리는 모든 지역의 상점 매출을 합산합니다. 더 자세히 살펴보면 하위 쿼리가 0보다 많은 행을 반환하므로 EXISTS 조건이 참이 되며 "SELECT SUM(Sales) FROM Store_Information" 쿼리에서 반환된 행이 최종 결과가 됩니다.
|