본문 바로가기

데이터베이스/ORACLE

[오라클 함수] EXISTS, NOT EXISTS

EXISTS : 서브 쿼리 조건에 만족하는 모든 레코드를 출력해준다.

==> 서브 쿼리 조건에 해당하는 결과 출력

ex. SELECT *

        FROM TABLE A

      WHERE EXISTS (SELECT *

                                   FROM TABLE B

                                 WHERE A.CUSNO = B.CUSNO);

 

NOT EXISTS : 서브 쿼리 조건에 만족하는 레코드를 제외하고 출력해준다.

==> 서브 쿼리 조건을 빼고 결과 출력

ex. SELECT *

        FROM TABLE A

      WHERE NOT EXISTS (SELECT *

                                           FROM TABLE B

                                         WHERE A.CUSNO = B.CUSNO);

 

*IN 과 EXISTS의 차이점

IN : 실제 존재하는 데이터들의 모든 값을 확인

EXISTS : 해당 row가 존재하는지만 확인하고 값들을 일일히 비교하지는 않음