728x90
EXISTS
- 한 테이블이 다른 테이블과 외래키(FK)와 같은 관계가 있을 때 유용.
- 조건에 해당하는 ROW의 존재 유무와 이후 더 수행하지 않음.
- 일반적으로 SELECT절까지 가지 않기에 IN에 비해 속도나 성능면에서 더 좋음.
- 메인 쿼리 -> EXISTS 쿼리
※ IN절은 IN 쿼리 -> 메인 쿼리의 순서. 이 부분이 IN절과 EXISTS절의 가장 큰 차이
-- 검색어1 또는 검색어2인 값만 출력
WHERE [컬럼명] EXISTS ('검색어1', '검색어2');
-- SELECT문의 조건만 출력
WHERE [컬럼명] EXISTS (SELECT문);
NOT EXISTS
NOT EXISTS는 EXISTS와 반대로 해당 조건을 제외하고 출력 할 때 사용.
-- 검색어1 또는 검색어2이 아닌 값만 출력
WHERE [컬럼명] NOT EXISTS ('검색어1', '검색어2');
-- SELECT문의 조건이 아닌 값만 출력
WHERE [컬럼명] NOT EXISTS (SELECT문);
728x90
'DataBase' 카테고리의 다른 글
[MySQL] NOT LIKE (0) | 2022.02.14 |
---|---|
[MySQL] 한글 깨짐 현상 해결 방법 (0) | 2022.02.13 |
[MySQL] EXPLAIN 실행 계획 - 쿼리 최적화 (0) | 2022.01.31 |
[MySQL] CONCAT(), CONCAT_WS() 문자열 합치기 (0) | 2022.01.30 |
[MySQL] 프로시저를 이용한 더미데이터 삽입 (0) | 2022.01.29 |