담비의 개발블로그

국비지원교육 46일차(10주차&DB) 본문

국비교육

국비지원교육 46일차(10주차&DB)

담비12 2024. 1. 17. 16:10

서브쿼리

- SQL문을 실행하는 데 필요한 데이터를 추가로 조회하기 위해 SQL문 내부에서 사용하는 SELECT문을 의미한다.

 

SELECT 조회할 열FROM 조회할 테이블WHERE 조건식 ( SELECLT 조회할 열                           FROM 조회할 테이블                           WHERE 조건식)

 

서브쿼리 특징

1. 서브쿼리는 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며 괄호()로 묶어서 사용한다.2. 특수한 몇몇 경우를 제외한 대부분의 서브쿼리에서는 ORDER BY절을 사용할 수 없다.3. 서브쿼리의 SELECT절에 명시한 열은 메인쿼리의 비교 대상과 같은 자료형과 같은 개수로 지정해야 한다. 즉 메인쿼리의 비교 대상 데이터가 하나라면 서브쿼리의 SELECT절 역시 같은 자료형인 열을 하나 지정해야 한다.4. 서브쿼리에 있는 SELECT문의 결과 행 수는 함게 사용하는 메인쿼리의 연산자 종류와 호환 가능해야 한다. 

 

단일행 서브쿼리

- 실행 결과가 단 하나의 행으로 나오는 서브쿼리를 말한다.

 

다중행 서브쿼리

- 실행 결과 행이 여러 개로 나오는 서브쿼리를 말한다.

 

다중행 연산자

다중행 연산자 설명
IN 메인쿼리의 데이터가 서브쿼리의 결과 중 하나라도 일치한 데이터가 있다면 TRUE
ANY, SOME 메인쿼리의 조건식을 만족하는 서브쿼리의 결과가 하나 이상이면TRUE
ALL 메인쿼리의 조건식을 서브쿼리의 결과 모두가 만족하면TRUE
EXISTS 서브쿼리의 결과가 존재하면 TRUE

 

FROM절에 사용하는 서브쿼리는 인라인 뷰라고도 불린다.