DB/SQL 기초

WHERE 절 - IN 같은 EXIST, NOT EXIST 함수

케이(kay) 2022. 8. 14. 23:09
반응형
SMALL

EXIST 는 IN 과 유사한 개념이다.

→ 둘다 where 절에 쓰인다.

→ IN () 에는 서브쿼리, 특정값 모두 올수 있지만,

EXIST () 에는 서브쿼리만 올 수 있다.

→ 그럼에도 exist를 사용하는 이유는 성능이 더 좋기 때문이다.

 

 

예문. exist / not exist

/* SELECT 1 FROM DUAL; = SELECT * FROM emp; */

SELECT * FROM EMP 
WHERE EXIST (SELECT 1 FROM DUAL);                  
-- 조건절이 항상 참이다.
												                          
SELECT * FROM EMP
WHERE EXIST (SELECT 1 FROM DUAL WHERE 1 = 2);      
-- 조건절이 항상 거짓이다.
                                               
SELECT * FROM EMP
WHERE NOT EXIST (SELECT 1 FROM DUAL WHERE 1 = 2);  
-- 조건절이 항상 참이다.
반응형
LIST