본문 바로가기
내일배움캠프/SQL

SQL- 서브쿼리(Subquery)

by useSword 2024. 1. 15.

SQL 작업을 하다 보면, 단일 쿼리로는 해결하기 어려운 복잡한 문제들을 마주하게 됩니다. 이럴 때 서브쿼리를 사용하여 문제를 효과적으로 해결할 수 있습니다. 서브쿼리는 큰 쿼리 안에서 동작하는 또 다른 쿼리로, 데이터 처리와 분석을 보다 유연하게 할 수 있게 도와줍니다. 여기 몇 가지 서브쿼리가 필요한 상황을 살펴보겠습니다

 

Subquery 문의 기본 구조

select column1, special_column
from
    ( /* subquery */
    select column1, column2 special_column
    from table1
    ) a

 

 

복잡한 연산을 Subquery 로 수행하기

 

[실습] 음식점의 총 주문수량과 주문 금액을 연산하고, 주문 수량을 기반으로 수수료 할인율 구하기

 

SELECT restaurant_name,총가격,총수량,
	case when '총수량'<10 then 0.1
		when '총수량'>15 and '총가격'>300000 then 0.5
		ELSE 0.01
		END '수수료'
from
(
SELECT restaurant_name,quantity,price,
SUM(price) '총가격',
SUM(quantity) '총수량'
FROM food_orders fo
group by 1
) a

 

주의해야할 점

1. ","의 배치를 신경쓰자
2. query를 작성중에도 수시로 확인하여 에러를 확인해야한다.

필요한 데이터가 서로 다른 테이블에 있을 때 조회하기 (JOIN)

 

'내일배움캠프 > SQL' 카테고리의 다른 글

SQL-마지막 수업  (0) 2024.01.17
SQL-실습  (1) 2024.01.13
SQL-문자열 함수(REPLACE, SUBSTR, CONCAT)  (0) 2024.01.11
SQL-데이터 조회와 엑셀 함수 적용  (0) 2024.01.11
SQL-DBeaver 사용, (between,in,like)  (2) 2024.01.11