EXISTS 조건
EXISTS 조건은 하위 쿼리에 대한 행의 존재 유무를 테스트한 후 하위 쿼리에서 행이 1개 이상 존재하면 true를 반환합니다. NOT을 지정하는 경우에는 하위 쿼리에 행이 없을 때 true를 반환합니다.
구문
[ NOT ] EXISTS (table_subquery)
인수
- exists
-
table_subquery가 행을 1개 이상 반환하면 true입니다.
- not_exists
-
table_subquery가 행을 하나도 반환하지 않으면 true입니다.
- table_subquery
-
열이 1개 이상, 그리고 행이 1개 이상 포함된 테이블로 평가되는 하위 쿼리입니다.
예
다음은 유형에 상관없이 판매가 이루어진 날짜마다 각각 한 번씩 날짜 식별자를 모두 반환하는 예입니다.
select dateid from date where exists ( select 1 from sales where date.dateid = sales.dateid ) order by dateid; dateid -------- 1827 1828 1829 ...