본문 바로가기
CS/데이터베이스

[Oracle] 서브쿼리 (EXISTS, NOT EXISTS)

by 김크롱 2020. 9. 16.

서브쿼리 (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의 데이터를 출력