[프로그래머스_SQL] Lv.2 가격이 제일 비싼 식품의 정보 출력하기

2026. 3. 21. 13:42·코딩테스트/SQL

카테고리: SQL · 서브쿼리 · MAX
플랫폼: 프로그래머스
난이도: Level 2


문제 설명

다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다.

Column name Type Nullable

PRODUCT_ID VARCHAR(10) FALSE
PRODUCT_NAME VARCHAR(50) FALSE
PRODUCT_CD VARCHAR(10) TRUE
CATEGORY VARCHAR(10) TRUE
PRICE NUMBER TRUE

FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요.


예시

입력

PRODUCT_ID PRODUCT_NAME PRODUCT_CD CATEGORY PRICE

P0018 맛있는고추기름 CD_OL00008 식용유 6100
P0019 맛있는카놀라유 CD_OL00009 식용유 5100
P0020 맛있는산초유 CD_OL00010 식용유 6500
P0021 맛있는케첩 CD_OL00001 소스 4500
P0022 맛있는마요네즈 CD_OL00002 소스 4700

출력

PRODUCT_ID PRODUCT_NAME PRODUCT_CD CATEGORY PRICE

P0020 맛있는산초유 CD_OL00010 식용유 6500

내 풀이

SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);

공부 포인트

1. 서브쿼리 (Subquery)

  • WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT) 처럼 쿼리 안에 또 다른 쿼리를 넣는 것을 서브쿼리라고 함
  • 서브쿼리가 먼저 실행되어 최댓값을 구한 뒤, 바깥 쿼리에서 해당 값과 일치하는 행을 조회하는 방식

2. ORDER BY + LIMIT vs 서브쿼리

  • ORDER BY PRICE DESC LIMIT 1 로도 동일한 결과를 얻을 수 있지만, 동일한 최고가 상품이 여러 개일 경우 서브쿼리 방식이 모두 조회할 수 있어 더 안전함

추가 팁

  • 동일한 최고가 상품이 여러 개인 경우 ORDER BY PRICE DESC LIMIT 1 은 한 건만 반환하지만, 서브쿼리 방식은 해당하는 모든 행을 반환합니다.
  • 서브쿼리는 WHERE, FROM, SELECT 절 어디에서나 사용할 수 있으므로 다양하게 활용해보세요.

마무리 요약

이번 문제는 MAX() 와 서브쿼리를 조합하여 특정 조건의 행 전체를 조회하는 실무형 SQL 예제다.
서브쿼리를 활용한 조건 필터링은 집계 결과를 WHERE 절에 활용할 때 자주 쓰이는 핵심 패턴이므로 꼭 익혀두는 것이 좋다.


이상입니다. 혹시나 제가 잘못된 내용을 작성했거나 더 좋은 방법이 있다면 댓글 남겨주세요.
지금까지 이 글을 봐주셔서 감사합니다.

'코딩테스트 > SQL' 카테고리의 다른 글

[프로그래머스_SQL] Lv.2 진료과별 총 예약 횟수 출력하기  (0) 2026.03.31
[프로그래머스_SQL] Lv.1 조건에 맞는 아이템들의 가격의 총합 구하기  (0) 2026.03.17
[프로그래머스_SQL] Lv.1 잡은 물고기 중 가장 큰 물고기의 길이 구하기  (0) 2026.03.16
[프로그래머스_SQL] Lv.2 동명 동물 수 찾기  (0) 2026.03.15
'코딩테스트/SQL' 카테고리의 다른 글
  • [프로그래머스_SQL] Lv.2 진료과별 총 예약 횟수 출력하기
  • [프로그래머스_SQL] Lv.1 조건에 맞는 아이템들의 가격의 총합 구하기
  • [프로그래머스_SQL] Lv.1 잡은 물고기 중 가장 큰 물고기의 길이 구하기
  • [프로그래머스_SQL] Lv.2 동명 동물 수 찾기
byhy0
byhy0
byhy0 님의 블로그 입니다.
  • byhy0
    byhy0 님의 블로그
    byhy0
  • 전체
    오늘
    어제
    • 분류 전체보기 (62)
      • T아카데미 (4)
      • Project (2)
      • Airflow (4)
      • Python (16)
        • Django (0)
      • Java (1)
      • Spring (4)
        • Board Project (3)
      • SQL (3)
      • Docker (1)
      • 클라우드 (2)
      • Error (3)
      • Git (5)
      • 코딩테스트 (12)
        • SQL (5)
        • Python (7)
      • TIL (3)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    BigQuery #SQL
    python #pytest #테스트
    T아카데미 #SK플래닛 #회고 #1주차
    Git #설치법
    programmers #SQL #코딩테스트
    API 요청 #API
    git #github #repository 생성
    venv #파이썬 가상환경 #가상환경
    티스토리챌린지
    push #pull #git연동
    오블완
    #Python #정규표현식 #Regex #웹크롤링 #데이터처리
    programmers # 코딩테스트 #sql
    T아카데미 #2주차 회고 #데이터 엔지니어 2기
    T아카데미#SK플래닛#데이터엔지니어2기
    T아카데미 #면접 #데이터 엔지니어 #K-Digital Traning
    #클라우드 #클라우드컴퓨팅 #CloudComputing #온프레미스 #CS기초 #IT인프라 #서버
    Spring
    vscode #git #git연동법
    게시판
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
byhy0
[프로그래머스_SQL] Lv.2 가격이 제일 비싼 식품의 정보 출력하기
상단으로

티스토리툴바