부제: 가격이 제일 비싼 식품의 정보 출력하기, 레벨 2
1. 문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/131115
2. 정답 코드:
SELECT
PRODUCT_ID,
PRODUCT_NAME,
PRODUCT_CD,
CATEGORY,
PRICE
FROM FOOD_PRODUCT
WHERE PRICE IN(
SELECT MAX(PRICE)
FROM FOOD_PRODUCT
)
3. 오류 상황:
SELECT
PRODUCT_ID,
PRODUCT_NAME,
PRODUCT_CD,
CATEGORY,
MAX(PRICE) AS PRICE
FROM FOOD_PRODUCT
=> SELECT문에 MAX()를 사용하면 PRICE는 가장 비싼 값이 출력될 수 있지만, PRODUCT_ID나 PRODUCT_NAME은 그냥 맨 위에 있는 데이터를 가져와 매칭이 안되서 오류 발생
4. 시도 방법: 서브 쿼리 이용
5. 최종 문제 해결 방법: WHERE문에 서브쿼리를 작성해 가장 비싼 값만을 쓰겠다고 전체 조건을 걸어준다.
'SQL 알고리즘 코드카타' 카테고리의 다른 글
| SQL 알고리즘 코드카타 9일차(2) 26.01.07(수) (0) | 2026.01.07 |
|---|---|
| SQL 알고리즘 코드카타 9일차(1) 26.01.07(수) (0) | 2026.01.07 |
| SQL 알고리즘 코드카타 8일차(2) 26.01.06(화) (0) | 2026.01.06 |
| SQL 알고리즘 코드카타 8일차(1) 26.01.06(화) (0) | 2026.01.06 |
| SQL 알고리즘 코드카타 7일차(3) 26.01.05(월) (1) | 2026.01.05 |