Exists(DMX)
지정된 하위 쿼리가 하나 이상의 행을 반환하면 true를 반환합니다.
구문
EXISTS(<subquery>)
인수
- subquery
SELECT * FROM <column name> [WHERE <predicate list>] 형식의 SELECT 문입니다.
결과 유형
하위 쿼리가 반환한 결과 집합에 하나 이상의 행이 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
주의
EXISTS 앞에 NOT 키워드를 사용할 수 있습니다. 예를 들면 WHERE NOT EXISTS (<subquery>)와 같습니다.
EXISTS의 하위 쿼리 인수에 추가하는 열 목록은 상관이 없습니다. 함수는 조건에 맞는 행의 존재 여부만 확인합니다.
예
EXISTS 및 NOT EXISTS를 사용하여 중첩 테이블의 조건을 확인할 수 있습니다. 이는 데이터 마이닝 모델을 학습 또는 테스트하는 데 사용되는 데이터를 제어하는 필터를 만들 때 유용합니다. 자세한 내용은 마이닝 모델에 대한 필터 만들기(Analysis Services - 데이터 마이닝)를 참조하십시오.
다음 예는 기본 데이터 마이닝 자습서에서 만든 [Association] 마이닝 구조 및 마이닝 모델을 기반으로 합니다. 쿼리는 고객이 하나 이상의 Patch kit을 구매한 사례만 반환합니다.
SELECT * FROM [Association].CASES
WHERE EXISTS
(
SELECT * FROM [v Assoc Seq Line Numbers]
WHERE [[Model] = 'Patch kit'
)
이 쿼리가 반환한 것과 동일한 데이터를 볼 수 있는 다른 방법은 연결 뷰어에서 모델을 열고, 항목 집합 Patch kit = Existing을 마우스 오른쪽 단추로 클릭한 다음 드릴스루 옵션을 선택하고 모델 사례만을 선택하는 것입니다.