본문 바로가기
Language/DB

[Programmers | SQL | GROUP BY 문제 풀이] 성분으로 구분한 아이스크림 총 주문량 - Solution with JOIN & GROUP BY

by ㅇ달빛천사ㅇ 2024. 7. 4.
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


Top