Programming/SQL
[프로그래머스] 가격이 제일 비싼 식품의 정보 출력하기
왕밤빵도라에몽
2025. 4. 10. 13:22
728x90
WHERE PRICE = (SELECT MAX(PRICE)
FROM FOOD_PRODUCT);
- 서브쿼리로 FOOD_PRODUCT 테이블에서 MAX(PRICE)를 구하고
- 그 가격과 일치하는 행을 다 가져옴
- 그런 행이 여러개면? 여러개 가져옴
아래 방식은 오답
SELECT
PRODUCT_ID,
PRODUCT_NAME,
PRODUCT_CD,
CATEGORY,
MAX(PRICE)
FROM FOOD_PRODUCT
- 이렇게하면 그룹핑(GROUP BY)안 한 상태로 집계함수만 쓴거라서
- MAX(PRICE)를 구할 때 테이블 전체에서 가장 큰 값이 나옴
- PRICE 컬럼은 MAX가 나오는데, 나머지 컬럼들은 무작위값으로 나옴
전체 코드
SELECT
PRODUCT_ID,
PRODUCT_NAME,
PRODUCT_CD,
CATEGORY,
PRICE
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE)
FROM FOOD_PRODUCT);
728x90