SQL

[SQL] IN과 EXISTS

hjkongkong 2025. 7. 16. 11:14

IN과 EXISTS모두 WHERE절에서 조건식으로 사용한다.

# IN  : 조건절에 명시한 값이 포함된 건을 반환

# EXISTS : IN과 유사하지만, 후행 조건절에 서브쿼리가 오고, 서브쿼리 내에서 JOIN이 포함되어있어야 한다.

SELECT DEPARTMENT_ID, DEPARTMENT_NAME
FROM DEPARTMENTS A
WHERE EXISTS (SELECT *
             FROM EMPLOYEES B
             WHERE A.DEPARTMENT_ID = B.DEPARTMENT_ID
             AND B.SALARY > 10000)
ORDER BY A.DEPARTMENT_ID ASC;

=> 서브쿼리를 확인하고, 그 결과가 존재하면(TRUE라면) 메인쿼리 실행

즉 EXISTS는 중복여부 등은 고려하지 않는다.

★ EXISTS는 조건을 만족하는 데이터가 존재하는지 확인하고 싶을 때 사용 ★

두 테이블에서 결합된 데이터를 실제로 SELECT해야 할 때는 INNER JOIN을 사용해야한다.

반응형

'SQL' 카테고리의 다른 글

[ORACLE] 다중 INSERT  (0) 2025.07.16
[ORACLE] 숫자함수  (0) 2025.07.16
[ORACLE] 오라클에서의 NULL  (1) 2025.07.16
[SQL] CASE WHEN 표현  (0) 2025.07.16
[ORACLE] Pseudo-column 의사컬럼  (0) 2025.07.16