개발자 11번째 이야기
Subquery
- subquery는 다른 SELECT 문의 절에 포함되는 SELECT
- 괄호로 감싸서 사용하며 단일행 비교 연산자의 경우 서브쿼리의 결과가 반드시 1건 이하여야 함.
- 복수행 비교 연산자의 경우 건수 상관없음.
Subquery 그룹 함수
서브 쿼리가 사용 가능한 곳
● select
● from
● where
● having
● order by
● insert의 values
● update의 set
여러 행의 Subquery
IN
● 리스트의 임의 멤버와 같음
ANY
● =, !=, >, <, <=, >= 연산자가 앞에 있어야 합니다.
< ANY는 최대값보다 작음을 의미합니다
> ANY는 최소값보다 큼을 의미합니다.
= ANY는 IN과 같습니다.
ALL
● subquery에서 반환되는 모든 값과 비교합니다.
> ALL은 최대값보다 큼을 의미합니다.
< ALL은 최소값보다 작음을 의미합니다
EXISTS
● subquery에서 최소한 한 개의 행을 반환하면 TRUE로 평가됨
● 서브 쿼리의 결과가 한 건이라도 존재하면 TRUE 없으면 FALSE를 출력.
NOT EXISTS
● EXISTS와 반대로 서브쿼리에 데이터가 존재하지 않을 경우 데이터가 조회됨.
Subquery의 null 값
● 반환되는 값 중 하나가 null이면 전체 query가 행을 반환하지 않음.
● null 값을 비교하는 모든 조건은 결과가 null이기 때문
'SQL 문 STUDY' 카테고리의 다른 글
SQL - INSERT/UPDATE/DELETE (0) | 2022.12.27 |
---|---|
SQL 집합 연산자 - UNION/ UNION ALL/ INTERSECT (0) | 2022.12.27 |
SQL 함수 - 그룹 함수 (0) | 2022.12.27 |
SQL 함수 - NVL / NVL2 / NULLIF / COALESCE / 조건부 표현식/ CASE (0) | 2022.12.27 |
SQL 함수 - TO_CHAR/TO_DATE/중첩 함수 (0) | 2022.12.27 |