문제설명
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)
'SQL Study > Programmers' 카테고리의 다른 글
| 프로그래머스[Lv.4] 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2025.11.11 |
|---|---|
| 프로그래머스[Lv.1] 12세 이하인 여자 환자 목록 출력하기 (0) | 2025.11.10 |
| 프로그래머스[Lv.4] 서울에 위치한 식당 목록 출력하기 (0) | 2025.11.10 |
| 프로그래머스[Lv.1] 강원도에 위치한 생산공장 목록 출력하기 (0) | 2025.11.10 |
| 프로그래머스[Lv.1] 과일로 만든 아이스크림 고르기 (0) | 2025.11.10 |