본문 바로가기

프로그래머스 SQL 고득점 Kit | 과일로 만든 아이스크림 고르기 (SELECT)

by qwee0328 2025. 4. 23.

프로그래머스 SQL 고득점 Kit의 SELECT 카테고리 문제인  
과일로 만든 아이스크림 고르기 문제를 함께 풀어봅니다. 🍓

이 문제는 JOIN과 조건 필터링을 활용한 기초적인 SELECT 실력을 확인할 수 있어요.  
면접 준비나 SQL 코딩테스트를 준비하시는 분들께 꼭 추천드립니다!

 

 


 

 

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

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

 

 

 

📝 문제 설명

다음은 아이스크림 가게의 상반기 주문 정보와 성분 정보를 담고 있는 두 개의 테이블이 있습니다:

  • FIRST_HALF: 아이스크림 맛과 상반기 총주문량을 담고 있는 테이블
  • ICECREAM_INFO: 각 아이스크림 맛의 주요 성분을 담고 있는 테이블

목표는 상반기 아이스크림 총주문량이 3,000보다 많은 아이스크림 중, 주 성분이 과일(fruit_based)인 아이스크림의 맛을 총 주문량 기준으로 내림차순 정렬하여 조회하는 것입니다.

 

 

📊 테이블 구조

FIRST_HALF 테이블

컬럼명 타입 설명
SHIPMENT_ID INT 출하 번호 (Primary Key 아님)
FLAVOR VARCHAR 아이스크림 맛 (Primary Key)
TOTAL_ORDER INT 상반기 총 주문량

 

ICECREAM_INFO 테이블

컬럼명 타입 설명
FLAVOR VARCHAR 아이스크림 맛 (Primary Key)
INGREDIENT_TYPE VARCHAR 아이스크림의 주 성분 (fruit_based or sugar_based)

 

 

 

💡 SQL 문제 해결 방법

  1. 테이블 조인: FIRST_HALF와 ICECREAM_INFO 테이블은 FLAVOR를 기준으로 조인
  2. 조건 필터링:
    • TOTAL_ORDER >= 3000
    • INGREDIENT_TYPE = 'fruit_based'
  3. 정렬: 주문량이 많은 순서로 정렬 (ORDER BY TOTAL_ORDER DESC)
  4. 조회 컬럼: 조건을 만족하는 FLAVOR만 조회

 

728x90

 

 

🖥️ SQL 풀이

   SELECT A.FLAVOR
     FROM FIRST_HALF A
LEFT JOIN ICECREAM_INFO B
       ON A.FLAVOR = B.FLAVOR
    WHERE A.TOTAL_ORDER >= 3000
      AND B.INGREDIENT_TYPE = 'fruit_based'
 ORDER BY TOTAL_ORDER DESC;

 

 

 

🔍 쿼리 분석

구문 설명
LEFT JOIN FLAVOR 컬럼을 기준으로 두 테이블을 연결합니다. 내부적으로는 INNER JOIN과 동일하게 동작하게 됩니다 (WHERE에서 B조건 필터링이 있기 때문).
A.TOTAL_ORDER >= 3000 주문량이 3000 이상인 데이터만 필터링합니다.
B.INGREDIENT_TYPE = 'fruit_based' 과일 성분이 주성분인 아이스크림만 필터링합니다.
ORDER BY TOTAL_ORDER DESC 주문량이 높은 순서대로 정렬하여 결과를 반환합니다.
SELECT A.FLAVOR 조건을 만족하는 아이스크림 맛만 출력합니다.

 

 

 

🎯 결론

이 문제는 SQL의 기본기인 JOIN, 조건 필터링, 정렬을 모두 활용하는 전형적인 입문 문제입니다. 실무에서 고객 조건 필터링, 제품 조회 등에 자주 쓰이는 패턴이므로 꼭 익혀두세요!

이 문제를 풀면서 이런 점들을 배울 수 있어요:

  • 기본적인 JOIN 구문 익히기
  • WHERE절에서 여러 조건을 함께 처리하는 방법
  • 특정 조건에 맞는 데이터 정렬 및 필터링

 

 

📚문제 풀러가기

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

728x90
반응형