728x90
KDT 실무형 스프링 백엔드 엔지니어 양성과정 6기 | SQL CODEKATA
🍦 성분으로 구분한 아이스크림 총 주문량
🏷 관련 주제 : JOIN GROUP BY

✔️ (Oracle & MySQL) Solution with JOIN & GROUP BY
SELECT I.INGREDIENT_TYPE
, SUM(F.TOTAL_ORDER) TOTAL_ORDER
FROM FIRST_HALF F
, ICECREAM_INFO I
WHERE F.FLAVOR = I.FLAVOR
GROUP BY I.INGREDIENT_TYPE
ORDER BY 2;
실행 결과

💥 오늘 만난 문제 & 나의 시도 💦 & 해결 방법 👍
📌 오늘 만난 문제 : 상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요.
이 때, 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요.
1. FIRST_HALF 테이블과 ICECREAM_INFO 테이블을 FLAVOR로 조인하여 INGREDIENT_TYPE, TOTAL _ORDER 칼럼을 조회하자.
- Oracle & MySQL
SELECT I.INGREDIENT_TYPE , F.TOTAL_ORDER FROM FIRST_HALF F , ICECREAM_INFO I WHERE F.FLAVOR = I.FLAVOR;실행 결과

2. INGREDIENT_TYPE에 대한 총 주문량 조회하기
HOW ?
GROUP BY INGREDIENT TYPE
총 주문량 : SUM(TOTAL_ORDER)
총 주문량에 "TOTAL_ORDER"라고 별칭 주기
- Oracle & MySQL
SELECT I.INGREDIENT_TYPE , SUM(F.TOTAL_ORDER) TOTAL_ORDER FROM FIRST_HALF F , ICECREAM_INFO I WHERE F.FLAVOR = I.FLAVOR GROUP BY I.INGREDIENT_TYPE;실행 결과

따로 정렬을 하지 않아도 여기까지만 하고 제출해도 정답이라고 뜬다.
하지만 나는 정렬도 할거야!
3. 총 주문량으로 오름차순 정렬하기
- Oracle & MySQL
SELECT I.INGREDIENT_TYPE , SUM(F.TOTAL_ORDER) TOTAL_ORDER FROM FIRST_HALF F , ICECREAM_INFO I WHERE F.FLAVOR = I.FLAVOR GROUP BY I.INGREDIENT_TYPE ORDER BY 2;실행 결과

💬 무엇을 새롭게 알았는지
JOIN 쿼리를 작성해 보았다.
집계함수를 사용해 보았다.
GROUP BY, ORDER BY 절을 작성해 보았다.
728x90