[SQL] 가격이 제일 비싼 식품의 정보 출력하기

제로·2026년 3월 23일

📍 문제

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

PRODUCT_ID - 식품 ID
PRODUCT_NAME - 식품 이름
PRODUCT_CD - 식품 코드
CATEGORY - 식품분류
PRICE - 식품 가격

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


처음에

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

이따구로 풀고
아~ ㅋ 쉽네? 해놓고
채점해 보니까 틀렸다는 청천벽력같은 말이 팝업창에 뜨길래 찾아보니까,

그냥 생으로 SELECT문에 PRICE에만 MAX를 사용하면, PRICE만 최댓값으로 나오고 나머지 행들은 모두 그냥 첫 번째 행에 있는 값으로만 출력되게 된다고 한다. 그래서 최댓값을 구하려면 서브 쿼리를 이용해, 전체적으로 최댓값인 행을 구하라고 적용해 주어야 내가 원하는 최댓값을 출력하는 쿼리를 작성한 게 된다.


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

서브 쿼리 작성하는 게 아직 미숙한데 많이 활용해 보아야겠다.

0개의 댓글