Home

과일로 만든 아이스크림 고르기

Link

Tables

erDiagram
	FIRST_HALF {
		SHIPMENT_ID INT
		FLAVOR VARCHAR
		TOTAL_ORDER INT
	}

	ICECREAM_INFO {
		FLAVOR VARCHAR
		INGREDIENT_TYPE VARCHAR
	}

	FIRST_HALF }o -- o| ICECREAM_INFO : "FLAVOR, INGREDIENT_TYPE"
Mermaid
복사

Question

상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성해주세요.

DataFlow

JOIN -> WHERE -> GROUP BY -> HAVING -> ORDER BY i.INGREDIENT_TYPE = 'fruit_based' 구분을 HAVING 에 넣을 수 없다. GROUP BY 이후 i.INGREDIENT_TYPE = 'fruit_based' filter를 추가하게 되면 주문량이 불명확해 진다.

Answer

SELECT o.FLAVOR FROM FIRST_HALF o LEFT JOIN ICECREAM_INFO i ON o.FLAVOR = i.FLAVOR WHERE i.INGREDIENT_TYPE = 'fruit_based' GROUP BY o.FLAVOR HAVING SUM(o.TOTAL_ORDER) > 3000 ORDER BY SUM(o.TOTAL_ORDER) DESC;
SQL
복사