본문 바로가기

Database/이론

[DB] 서브쿼리

 

서브쿼리 (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