반응형
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
'DB > SQL 기초' 카테고리의 다른 글
WINDOW 함수 한눈에 알아보기 (0) | 2022.08.15 |
---|---|
SELECT 문 - selection, projection, join 기본원리 (0) | 2022.08.15 |
TCL 정리 - commit, rollback, savepoint (*auto_commit) (0) | 2022.08.14 |
그룹함수 - rollup, cube, grouping sets + grouping (group by 절) (0) | 2022.08.14 |
Merge 문 - insert, update, delete 한번에 해결할 때 (0) | 2022.08.13 |