📚 복습


Subquery: 여러 번의 연산 한 번에 수행


[실습] Subquery를 활용한 Query 결합


<aside>

[ 수수료 구간 ]

~5000원 미만 0.05%

~20000원 미만 1%

~30000원 미만 2%

30000원 초과 3%

</aside>

SELECT 
	restaurant_name 
	, price_per_plate*ratio_of_add "수수료"
FROM 
	(
		SELECT
			restaurant_name
			, CASE WHEN price_per_plate < 5000 THEN 0.0005
				WHEN price_per_plate < 20000 THEN 0.01
				WHEN price_per_plate < 30000 THEN 0.02
				ELSE 0.03 END ratio_of_add
			, price_per_plate
		FROM
			(
				SELECT 
				restaurant_name
				, avg(price/quantity) price_per_plate
				FROM food_orders fo
				GROUP BY 1
			) a
	) b
SELECT 
	restaurant_name
	, 지역
	, CASE WHEN 배달시간<=20 THEN '~ 20분'
		WHEN 배달시간 BETWEEN 21 AND 30 THEN '21 ~ 30분'
		ELSE '30분 ~' END '구분'
FROM 
(
	SELECT
		restaurant_name 
		, SUBSTR(addr,1,2) "지역"
		, avg(delivery_time) "배달시간"
	FROM food_orders fo2 
	GROUP BY 1,2
) a

[실습] Subquery로 복잡한 연산 수행