서브쿼리 (EXISTS, NOT EXISTS)
: 특정 테이블의 결과가 다른 테이블에도 존재하는지 확인
EXISTS
SELECT *
FROM table1 t1
WHERE EXISTS (SELECT *
FROM table2 t2
WHERE t2.column1 = t1.column1);
: t1의 column1 중 t2의 column1에도 존재하는 t1의 데이터를 출력
- t1의 column1을 기준으로 t2의 column1을 검색
- 존재 확인 시 더 이상 데이터를 읽지 않음
NOT EXISTS
SELECT *
FROM table1 t1
WHERE NOT EXISTS (SELECT *
FROM table2 t2
WHERE t2.column1 = t1.column1);
: t1의 column1 중 t2의 column1에도 존재하는 t1의 데이터를 출력
'CS > 데이터베이스' 카테고리의 다른 글
[Oracle] 서브쿼리 (FROM절 서브쿼리) (0) | 2020.09.16 |
---|---|
[Oracle] 서브쿼리 (HAVING절 서브쿼리) (0) | 2020.09.16 |
[Oracle] 서브쿼리 (NOT IN) (0) | 2020.09.16 |
[Oracle] 서브 쿼리 (단일행, 다중행) (0) | 2020.09.16 |
[Oracle] 집합 연산자 - 데이터 차이 출력 (MINUS) (0) | 2020.09.15 |