프로그래머스 - 과일로 만든 아이스크림 고르기 (SELECT, MYSQL)

2025. 9. 22. 10:56·코딩 테스트 준비/문제

문제 설명

다음은 아이스크림 가게의 상반기 주문 정보를 담은 FIRST_HALF 테이블과 아이스크림 성분 정보를 담은 ICECREAM_INFO 테이블입니다.
FIRST_HALF의 SHIPMENT_ID, FLAVOR, TOTAL_ORDER는 각각 아이스크림 공장에서 가게까지의 출하 번호, 아이스크림 맛, 상반기 총주문량을 나타냅니다. FIRST_HALF의 기본 키는 FLAVOR입니다.
ICECREAM_INFO의 FLAVOR, INGREDIENT_TYPE은 각각 아이스크림 맛, 아이스크림의 성분 타입을 나타내며, 주 성분이 설탕이면 sugar_based, 과일이면 fruit_based가 입력됩니다. ICECREAM_INFO의 기본 키는 FLAVOR이며, ICECREAM_INFO.FLAVOR는 FIRST_HALF.FLAVOR의 외래 키입니다.

테이블 스키마

FIRST_HALF

NAMETYPENULLABLE
SHIPMENT_ID INT(N) FALSE
FLAVOR VARCHAR(N) FALSE
TOTAL_ORDER INT(N) FALSE

ICECREAM_INFO

NAMETYPENULLABLE
FLAVOR VARCHAR(N) FALSE
INGREDIENT_TYPE VARCHAR(N) FALSE

문제

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

예시 데이터

FIRST_HALF

SHIPMENT_IDFLAVORTOTAL_ORDER
101 chocolate 3200
102 vanilla 2800
103 mint_chocolate 1700
104 caramel 2600
105 white_chocolate 3100
106 peach 2450
107 watermelon 2150
108 mango 2900
109 strawberry 3100
110 melon 3150
111 orange 2900
112 pineapple 2900

ICECREAM_INFO

FLAVORINGREDIENT_TYPE
chocolate sugar_based
vanilla sugar_based
mint_chocolate sugar_based
caramel sugar_based
white_chocolate sugar_based
peach fruit_based
watermelon fruit_based
mango fruit_based
strawberry fruit_based
melon fruit_based
orange fruit_based
pineapple fruit_based

설명

총주문량이 3,000을 초과하는 맛은 chocolate, white_chocolate, strawberry, melon입니다.
이 중 주 성분이 과일(fruit_based)인 맛은 strawberry, melon이며, 총주문량 내림차순으로 정렬하면 melon, strawberry 순입니다.

기대 출력

FLAVOR
melon
strawberry

 

문제 접근

이 문제는 설명에 있는대로 그대로 풀면 되는 거라 딱히 뭘 생각할 필요가 없다.

다만 JOIN을 할 때 INNER JOIN을 해야될지 OUTER JOIN을 사용해야 될지는 잘 생각해 봐야한다.

 

SQL문

SELECT FH.FLAVOR
FROM FIRST_HALF AS FH JOIN ICECREAM_INFO AS II ON FH.FLAVOR = II.FLAVOR
WHERE FH.TOTAL_ORDER >= 3000 AND II.INGREDIENT_TYPE = 'fruit_based'
ORDER BY TOTAL_ORDER DESC;

-- 총 주문량이 3,000 보다 높으면 
-- WHERE : FIRST_HALF의 TOTAL_ORDER >= 3000 AND INGREDIENT_TYPE : 'fruit_based'
-- SELECT : FLAVOR
-- ORDER BY : TOTAL_ORDER DESC;

 

'코딩 테스트 준비 > 문제' 카테고리의 다른 글

프로그래머스 - 인기있는 아이스크림 (SELECT, MYSQL)  (0) 2025.09.23
프로그래머스 - 12세 이하인 여자 환자 목록 출력하기 (SELECT, MYSQL)  (0) 2025.09.23
프로그래머스 - 조건에 부합하는 중고거래 댓글 조회하기 (SELECT, MYSQL)  (0) 2025.09.22
프로그래머스 - N으로 표현 (DP)  (0) 2025.09.21
20. 프로그래머스 - 게임 맵 최단 거리 (bfs)  (4) 2025.08.29
'코딩 테스트 준비/문제' 카테고리의 다른 글
  • 프로그래머스 - 인기있는 아이스크림 (SELECT, MYSQL)
  • 프로그래머스 - 12세 이하인 여자 환자 목록 출력하기 (SELECT, MYSQL)
  • 프로그래머스 - 조건에 부합하는 중고거래 댓글 조회하기 (SELECT, MYSQL)
  • 프로그래머스 - N으로 표현 (DP)
masxer
masxer
masxer 님의 블로그 입니다.
  • masxer
    masxer 님의 블로그
    masxer
  • 전체
    오늘
    어제
    • 분류 전체보기 (54)
      • 알고리즘 (7)
      • 코딩 테스트 준비 (34)
        • 문제 (28)
        • 개념 (6)
      • 25-1 여름방학 공모전 프로젝트 (0)
      • 스프링부트 (6)
      • 도커 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
masxer
프로그래머스 - 과일로 만든 아이스크림 고르기 (SELECT, MYSQL)
상단으로

티스토리툴바