EXISTS
EXISTS
EXISTS 연산자는 서브쿼리 결과에 레코드가 몇 개 있는지 확인해요. 결과가 비어 있으면 연산자는 0을 반환하고, 그렇지 않으면 1을 반환합니다. EXISTS는 WHERE 절에서도 사용할 수 있어요. 서브쿼리에서는 메인 쿼리 테이블과 열에 대한 참조가 지원되지 않습니다.
출처: 문서
본문
EXISTS 연산자는 서브쿼리 결과에 레코드가 얼마나 있는지 확인해요. 비어 있으면 0을 반환하고, 그렇지 않으면 1을 반환합니다. EXISTS는 WHERE 절에서도 사용할 수 있어요. 서브쿼리에서는 메인 쿼리 테이블과 열에 대한 참조가 지원되지 않습니다.
Syntax
EXISTS(subquery)
Example 서브쿼리에 값이 존재하는지 확인하는 쿼리예요. Query
SELECT EXISTS(SELECT * FROM numbers(10) WHERE number > 8), EXISTS(SELECT * FROM numbers(10) WHERE number > 11)
Response
┌─in(1, _subquery1)─┬─in(1, _subquery2)─┐
│ 1 │ 0 │
└───────────────────┴───────────────────┘
여러 행을 반환하는 서브쿼리가 있는 쿼리: Query
SELECT count() FROM numbers(10) WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 8);
Response
┌─count()─┐
│ 10 │
└─────────┘
빈 결과를 반환하는 서브쿼리가 있는 쿼리: Query
SELECT count() FROM numbers(10) WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 11);
Response
┌─count()─┐
│ 0 │
└─────────┘