서브쿼리(SUBQUERY)가 뭔데 ?
SQL문을 실행하는 데 필요한 데이터를 추가로 조회하기 위해 SQL문 내부에서 사용하는 SELECT문
서브쿼리의 결과 값을 사용하여 기능을 수행하는 영역은 메인쿼리(MAIN QUERY)라고 부른다.
WHERE절 안에 서브쿼리를 넣는 방식을 빈번하게 사용한다.
SELECT 조회할 열
FROM 조회할 테이블
WHERE 조건식 ( SELECT 조회할 열 FROM 조회할 테이블 WHERE 조건식)
서브쿼리의 특징
1. 서브쿼리는 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며 괄호( )로 묶어서 사용한다.
2. 특수한 경우를 제외하고, 서브쿼리에서는 ORDER BY를 사용할 수 없다.(메인쿼리는 상관없음)
3. 서브쿼리의 SELECT절에 명시한 열은 메인쿼리의 비교 대상과 같은 자료형과 같은 개수로 지정해야 한다.
즉 메인쿼리의 비교 대상 데이터가 하나라면 서브쿼리의 SELECT절 역시 같은 자료형인열을 하나 지정해야 한다.
4. 서브쿼리에 있는 SELECT문의 결과 행 수는 함께 사용하는 메인쿼리의 연산자 종류와 호환 가능해야한다.
예를 들어 메인쿼리에 사용한 연산자가 단 하나의 데이터로만 연산이 가능한 연산자라면 서브쿼리의 결과 행 수는 반드시 하나여야 한다.
서브쿼리는 메인쿼리의 연산자와 함께 상호 작용하는 방식에 따라 단일행 서브쿼리와 다중행 서브쿼리로 나눈다.
'DATABASE > SubQuery : SQL안에 또 다른 SQL' 카테고리의 다른 글
05. FROM절에 사용하는 서브쿼리와 WITH절 (0) | 2024.03.12 |
---|---|
04. 다중열 서브쿼리 : 비교할 열이 여러 개일 때 (0) | 2024.03.12 |
03.다중행 서브쿼리 : 실행 결과가 여러개 (0) | 2024.03.12 |
02. 단일행 서브쿼리 : 실행 결과가 하나 (0) | 2024.03.12 |