오라클 다중 행 서브쿼리
- 복수 행 서브쿼리라고도 한다.
- 서브쿼리의 조회 결과가 2건 이상 출력되는 서브쿼리
- 다중 행 전용 연산자만 사용 가능하다
- =, !=, <> 등의 단일 행 연산자는 사용할 수 없다.
- 스칼라 서브쿼리로 사용할 수 없다.
다중 행 서브쿼리 전용 연산자
- IN
- 단일 행 연산자로 사용될 때랑 같다.
- 동등비교(=)를 위해 사용한다.
- 서브쿼리의 결과 중 하나라도 같은 값이 있으면 조회된다.
- ANY (== SOME)
- 비교컬럼이 서브쿼리의 결과 중 어떤 값이라도 조건에 만족하면 조회된다.
- OR 의 동작과 비슷하다.
- ALL
- 비교컬럼이 서브쿼리 결과의 모든 값에 만족하면 조회된다.
- AND 의 동작과 비슷하다.
- EXISTS
- 서브쿼리와 메인쿼리를 비교하여 서브쿼리로 조회되는 결과값으로 존재하는 행이라면 메인쿼리에서 조회되도록 한다.
- IN 연산자는 데이터를 직접 조회하여 그 결과를 비교하고 판단하지만 EXISTS 는 데이터(행)가 존재하는지만 파악하고 값을 직접 비교하지는 않는다.
반응형
'Database > Oracle' 카테고리의 다른 글
[Oracle] 오라클 자료형의 종류 (0) | 2020.09.28 |
---|---|
[Oracle] 오라클의 집합 연산자 (0) | 2020.09.28 |
[Oracle] ERD, Entity Relationship Diagram (0) | 2020.09.28 |
[Oracle] 오라클의 서브쿼리(SubQuery)에 대하여 (0) | 2020.09.28 |
[Oracle] 오라클 조회되는 결과에 행 번호를 붙이는 키워드인 rownum (0) | 2020.09.28 |