SQL에서 EXISTS는 서브쿼리의 결과가 존재하는지를 확인하는 조건절입니다.
즉, EXISTS는 서브쿼리가 한 개 이상의 행을 반환하면 참(True)을 반환하고, 행을 반환하지 않으면 거짓(False)을 반환합니다.
EXISTS는 주로 데이터 존재 여부를 확인하는 데 사용되며, 서브쿼리 내부에서 실제로 데이터를 반환할 필요는 없습니다.
단순히 해당 조건을 만족하는 행이 있는지 여부만을 판단합니다.
SELECT column_list
FROM table_name
WHERE EXISTS
( SELECT 1 FROM another_table WHERE condition );
다음은 Employees 테이블에서 특정 부서(Departments)에 속한 직원만을 조회하는 예시입니다.
SELECT employee_id, name
FROM Employees e
WHERE EXISTS
( SELECT 1 FROM Departments d WHERE d.department_id = e.department_id );
NOT EXISTS는 서브쿼리의 결과가 없을 때 참을 반환합니다. 즉, 서브쿼리가 행을 반환하지 않으면 참으로 처리됩니다.
SELECT employee_id, name
FROM Employees e
WHERE NOT EXISTS
( SELECT 1 FROM Departments d WHERE d.department_id = e.department_id );
다음은 Products 테이블에서 판매된 적이 없는 상품을 조회하는 예시입니다.
SELECT product_id, product_name
FROM Products p
WHERE NOT EXISTS
( SELECT 1 FROM Orders o WHERE o.product_id = p.product_id );
| 데이터베이스 SQL decode 함수 쓰는 방법 (3) | 2024.11.06 |
|---|---|
| 데이터베이스 SQL 조건절 where 1=1 뜻 (0) | 2024.11.05 |
| select 1 from 테이블 쿼리 사용하는 방법 (0) | 2024.11.02 |
| 데이터베이스 쿼리 범위 조회 LIMIT절 (feat.Cubrid 큐브리드) (0) | 2024.11.02 |
| 데이터베이스 SQL쿼리 rollup 합계 사용하는 방법 (1) | 2024.11.02 |