이전 문제의 복습문제로 다중 컬럼 IN문제가 나온 것 같다.
아직은 익숙지가 않아서 IN안의 SELECT문의 컬럼들을 바꿔보면서 풀어 봤다.
다중 컬럼 IN을 사용하는데 있어서 약간의 힌트? 인 것 같은 부분은
"식품분류별로 가격이 제일 비싼 식품의"라는 부분
WHERE (CATEGORY, PRICE) IN()으로 사용해야한다고
알려주는 것 같고,
IN
(
SELECT CATEGORY, MAX(PRICE)
)
로 IN안의 SELECT 하고자 하는 컬럼명들을 알려주는 것 같다(개인적인 추측)
마지막으로, GROUP BY CATEGORY로 묶인 결과 중
식품분류가 '과자', '국', '김치', '식용유'만 출력돼야
하기 때문에
IN
(
SELECT CATEGORY, MAX(PRICE)
FROM FOOD_PRODUCT
WHERE CATEGORY IN('과자','국','김치','식용유')
GROUP BY CATEGORY
)
로 만들어줬다.
제출한 코드 :
SELECT CATEGORY, PRICE AS MAX_PRICE, PRODUCT_NAME
FROM FOOD_PRODUCT
WHERE (CATEGORY, PRICE)
IN
(
SELECT CATEGORY, MAX(PRICE)
FROM FOOD_PRODUCT
WHERE CATEGORY IN('과자','국','김치','식용유')
GROUP BY CATEGORY
)
ORDER BY MAX_PRICE DESC
'SQL 문제' 카테고리의 다른 글
문제 51. 없어진 기록 찾기(난이도 7)(RIGHT JOIN) (0) | 2024.07.26 |
---|---|
문제 50. 5월 식품들의 총매출 조회하기(난이도 4) (0) | 2024.07.24 |
문제 47. (중요)즐겨찾기가 가장 많은 식당 정보(난이도 10)(다중 컬럼 IN) (0) | 2024.07.24 |
문제 46. 모든 레코드 조회하기(난이도 1)(SELECT *) (0) | 2024.07.24 |
문제 45. 대여 기록이 존재하는 자동차(난이도 1) (0) | 2024.07.24 |