EXISTS 연산자, EXISTS vs IN

CODEDRAGON Development/Database

반응형

 

 

 

EXISTS 연산자

메인 쿼리의 비교 조건이 서브 쿼리의 결과 중에서 만족하는 값이 하나라도 존재하면 참 되고 아무 행도 반환하지 않으면 거짓 됩니다.

 

형식 설명
EXISTS
  • 만족하는 값이 하나라도 존재하면 참이 되고
  • 아무 행도 반환하지 않으면 거짓
NOT EXISTS
  • EXISTS의 부정
  • 일치되지 않으면 메인 쿼리 테이블의 모든 행을 반환

 

SELECT 컬럼명 FROM 테이블명
WHERE EXISTS(
서브쿼리);

 

서브쿼리문에 SELECT 1 하게 되면 해당 조건을 만족하면 1 반환하고

EXISTS 해당 로우(row) 존재하는지의 여부만 확인한 TRUE(1)이면 메인쿼리문을 수행하게 됩니다.

SELECT 컬럼명
FROM 테이블명
WHERE EXISTS(
SELECT 1 FROM 테이블명
WHERE 조건식
);