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
위 WHERE 절은 다음을 의미합니다:
- CATEGORY와 PRICE 컬럼의 값이 서브쿼리에서 반환된 결과에 포함되어야 합니다.
- 서브쿼리는 다음 작업을 수행합니다:
- '과자', '국', '김치', '식용유' 카테고리 중에서
- 각 카테고리별로 최고 가격을 찾습니다.
- 결과는 카테고리와 해당 카테고리의 최고 가격으로 구성됩니다.
즉, 이 WHERE 절은 주 테이블의 각 행이 서브쿼리에서 반환된 카테고리와 최고 가격과 일치해야만 선택됩니다.
'ㅋㅌ' 카테고리의 다른 글
[SQL] WHEN, DATE (0) | 2023.09.20 |
---|---|
[SQL] JOIN (0) | 2023.09.17 |
[SQL] 서브쿼리 사용 (0) | 2023.09.12 |
[SQL] FLOOR (0) | 2023.09.11 |
LEFT, GROUP BY (0) | 2023.09.10 |