본문 바로가기
프로그래밍/DB(데이터베이스)

EXISTS 사용법

by 오우예~ 2025. 8. 12.

1. EXISTS란 무엇인가?

EXISTS는 서브쿼리 내 조건에 맞는 데이터가 존재하는지 여부를 판단하는 논리 연산자입니다.

  • 서브쿼리가 하나라도 결과를 반환하면 TRUE
  • 결과가 없으면 FALSE

즉, 메인 쿼리에서 특정 조건을 만족하는 데이터가 서브쿼리에 존재할 때만 해당 행을 선택할 수 있도록 도와줍니다.

 

2. EXISTS vs IN vs JOIN

  • EXISTS는 서브쿼리 결과가 존재하는지만 체크하기 때문에 데이터가 많아도 효율적일 때가 많습니다.
  • IN은 서브쿼리 결과 전체를 비교하기 때문에 경우에 따라 성능 차이가 있습니다.
  • JOIN은 두 테이블을 결합해서 결과를 만듭니다. 목적과 상황에 따라 적절히 선택하세요.
  • 상황에 따라 사용하는 법은 확실히 다르다. 

3. 예제

예제 상황

  • Employees 테이블: 사원 정보
  • Orders 테이블: 주문 정보 (사원별 주문 기록 있음)
  • "주문이 있는 사원 목록"을 조회
sql
 
 
SELECT EmployeeID, FirstName, LastName
FROM    Employees E
WHERE EXISTS (
                             SELECT 1
                             FROM     Orders O
                             WHERE  O.EmployeeID = E.EmployeeID
);

 

4. 참고 팁

  • EXISTS 서브쿼리는 조건만 충족하면 바로 TRUE를 반환하기 때문에, 실제 데이터를 모두 읽지 않아 효율적입니다.
  • 복잡한 서브쿼리 조건에도 활용 가능하며, 조건에 따라 인덱스 활용 시 성능이 매우 좋아집니다.

 

'프로그래밍 > DB(데이터베이스)' 카테고리의 다른 글

UNION, UNION ALL 차이 및 사용하기  (2) 2025.08.12
IF NOT EXISTS 사용하기  (5) 2025.08.12
MSSQL 소수점 절삭 버림  (0) 2023.10.19
MSSQL 날짜 타입 변경  (0) 2023.05.04
MSSQL DateAdd 사용하기~  (0) 2015.11.06