서브쿼리 (SubQuery)는 select문 안에 다시 select문을 사용하는 기술입니다.
하나의 SQL문 안에 다른 SQL문이 중첩된 질의문을 의미하는데요.
다른 테이블에서 가져온 데이터로 현재 테이블에 있는 정보를
찾거나 가공할 때 사용합니다.
보통 데이터가 대량일 때 데이터를 모두 합쳐서 연산하는 JOIN보다
필요한 데이터만 찾아서 공급해주는 Subquery가 성능이 더 좋습니다.
쿼리는 주질의(main query, 외부질의)와 부속질의(subquery, 내부질의)로 구성됩니다.
예제를 하나 살펴보겠습니다.
select s_name, s_price
from dec26_snack
where s_price < (
select avg(s_price)
from dec26_snack
);
평균가보다 가격이 낮은 과자의 이름과 가격 정보를 조회한 Query
메인쿼리의 where절에서 서브쿼리의 결과와 비교할 때는
반 드 시 비교연산자를 사용해야 합니다.
select count(*)
from dec26_snack
where s_price > (
select avg(s_price)
from dec26_snack
);
평균가보다 비싼 과자는 몇 종류 ?
'Database > 이론' 카테고리의 다른 글
[DB] View (0) | 2025.01.02 |
---|---|
[DB] Join (0) | 2025.01.02 |
[DB] 집합연산자 (2) | 2024.12.27 |
[DB] 패턴 연산자 (0) | 2024.12.27 |
[DB] 관계연산자 (1) | 2024.12.27 |