[Oracle] 데이터 존재여부를 확인하는 EXISTS / NOT EXISTS
2020. 12. 9. 13:15
반응형
[Oracle] 데이터 존재여부를 확인하는 EXISTS / NOT EXISTS
데이터 유무 에 따라 특정액션을 취하는 경우가 필요합니다
EXISTS 와 IN 정도로 구분이 가능한데 이번에는 EXISTS 를 사용 하는 방법을 공유 하고자합니다.
EXISTS문 사용법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SELECT 컬럼 FROM 테이블 WHERE EXISTS ( 서브쿼리 ); SELECT 컬럼 FROM 테이블 WHERE EXISTS ( 서브쿼리 ); | cs |
EXISTS은 논리연산자 중의 하나로써 조건절로 서브쿼리 형태로만 올 수 있습니다.
EXISTS 예제
1 :N 구조의를 가진 두개의 테이블이 있다는 가정하에 A 테이블 B테이블 에있는 데이터 유무를 판단해보고자 합니다
TABLEB 에 데이터가 있는 TABLEA 데이터 출력
1 2 3 4 5 6 | SELECT * FROM TABLEA A WHERE EXISTS ( SELECT * FROM TABLEB B WHERE A.PK = B.PK ) | cs |
PK를 공유하고있는 데이터만 출력됩니다.
TABLEB에 데이터가 없는 TABLEA 데이터 출력
1 2 3 4 5 6 | SELECT * FROM TABLEA A WHERE NOT EXISTS ( SELECT * FROM TABLEB B WHERE A.PK = B.PK ) | cs |
반대로 TABLEB 에 데이터가 없는 TABLEA만 뽑고 싶으시다면 NOT EXISTS를 사용하시면 됩니다.
반응형
'Program > DataBase' 카테고리의 다른 글
[Oracle] 오라클 테이블 컬럼 추가/수정/삭제/컬럼명 변경 하는법 (0) | 2020.05.19 |
---|---|
[Oracle] 오라클 사용자 생성 및 권한주기 (0) | 2020.01.08 |
[Oracle] ORA-01850: hour must be between 0 and 23 (0) | 2019.11.28 |
[Oracle] ORA-01861: literal does not match format string (0) | 2019.11.27 |
[DataBase] iBatis/myBatis #와 $의 차이점 (0) | 2019.10.28 |