EXISTS 술어
exists 술어는 subselect가 지정한 조건의 존재 여부를 테스트합니다.
다음 구문을 사용하십시오.
EXISTS ( subselect )
EXISTS collection-valued-path-expression
subselect가 최소한 하나 이상의 값을 리턴하거나 경로 표현식이 비어 있지 않은 콜렉션으로 평가될 경우, EXISTS의 결과는 true입니다. 그렇지 않은 경우, 결과는 false입니다.
EXISTS 술어를 무시하려면, 술어 앞에 논리 연산자 NOT을 지정하십시오.
예: EXISTS 술어
다음 조회는 급여가 1000000 이상인
직원이 포함된 부서를 리턴합니다.
SELECT OBJECT(d) FROM DeptBean d
WHERE EXISTS ( SELECT 1 FROM IN (d.emps) e WHERE e.salary > 1000000 )
다음은
직원이 없는 부서를 리턴합니다.
SELECT OBJECT(d) FROM DeptBean d
WHERE NOT EXISTS ( SELECT 1 FROM IN (d.emps) e)
이전 조회는
다음과 같이 작성될 수도 있습니다.
SELECT OBJECT(d) FROM DeptBean d WHERE NOT EXISTS d.emps