https://school.programmers.co.kr/learn/courses/30/lessons/131116
부속질의를 사용하여 category가 과자, 국, 김치, 식용유인 식품들을 category 별로 그룹화 하여 각 category별 price의 최댓값과 그때의 category를 return 하게 했다.
부속질의 결과 여러 튜플이 return 되므로 다중행 연산자인 IN
사용.
부속질의 결과 두개의 속성 CATEGORY와 MAX(PRICE)가 RETURN되므로
이 결과를 받을 때도 두개의 속성으로 받아야함. (CATEGORY, PRICE)
WHERE (CATEGORY, PRICE) 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 PRICE DESC