SQL Study/Programmers

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

choidawon 2025. 11. 10. 10:53

문제설명

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

 

FOOD_PRODUCT 테이블

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

 

 

SQL을 실행하면 다음과 같이 출력되어야 합니다.

PRODUCT_ID PRODUCT_NAME PRODUCT_CD CATEGORY PRICE
P0020 맛있는산초유 CD_OL00010 식용 6500

 

코드 설명

- 처음 SELECT 절에 MAX 함수를 사용했으나, 일반 컬럼(비집계 컬럼) + 집계함수(MAX) 가 섞여 있어 오류가 발생했다.

비집계 컬럼을 함께 SELECT하려면, 그 컬럼들을 GROUP BY로 묶어줘야 한다.

 

WHERE 절에서 MAX를 쓰는 경우, SELECT MAX(PRICE) FROM FOOD_PRODUCT 는 하나의 값(스칼라 값) 을 반환해 가능해진다.

코드

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