hyezdata 님의 블로그

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

내일배움캠프/코드카타

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

hyezdata 2025. 2. 26. 13:20
SELECT PRODUCT_ID,
    PRODUCT_NAME,
    PRODUCT_CD,
    CATEGORY,
    MAX(PRICE) AS PRICE
FROM FOOD_PRODUCT

 

첨에 이렇게 했으나 답이 이상하게 나옴

 

가격은 MAX인데 물품이 그 가격에 대한 물품이 전혀 아닌...

GROUP BY를 해봤으나 답 못 찾음...;;

마침 질문방에 나랑 똑같이 풀고 답이 안 나와서 질문한 게 있길래 참고해서 풀어봄!

 

튜터님 힌트

 

아하...!

728x90

 

SELECT PRODUCT_ID,
    PRODUCT_NAME,
    PRODUCT_CD,
    CATEGORY,
    PRICE
FROM FOOD_PRODUCT
ORDER BY PRICE DESC
LIMIT 1

 

 

찾아보니 그 외 2가지 방법이 더 있음

# JOIN + FROM절 서브쿼리
SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, F1.PRICE
FROM 
FOOD_PRODUCT F1 JOIN (SELECT MAX(PRICE) PRICE 
                      FROM FOOD_PRODUCT T
                     ) F2 
ON F1.PRICE = F2.PRICE

# WHERE절 서브쿼리
SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM FOOD_PRODUCT 
WHERE PRICE = (SELECT MAX(PRICE)
               FROM FOOD_PRODUCT)

출처 : https://20240228.tistory.com/219

 

내가 쓴 정답이 젤 깔끔하고 쉬운 듯하다...;;

728x90
반응형