[프로그래머스 Lv.4] 식품분류별 가장 비싼 식품의 정보 조회하기

너구리로소이다·2023년 3월 23일
0

programmers-SQL

목록 보기
56/76
post-thumbnail

코딩테스트 연습 - 식품분류별 가장 비싼 식품의 정보 조회하기

문제 설명

다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다.
FOOD_PRODUCT 테이블은 다음과 같으며
PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE식품 ID, 식품 이름, 식품코드, 식품분류, 식품 가격을 의미합니다.

Column nameTypeNullable
PRODUCT_IDVARCHAR(10)FALSE
PRODUCT_NAMEVARCHAR(50)FALSE
PRODUCT_CDVARCHAR(10)TRUE
CATEGORYVARCHAR(10)TRUE
PRICENUMBERTRUE

FOOD_PRODUCT 테이블에서 식품분류별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회하는 SQL문을 작성해주세요.
이때 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력시켜 주시고
결과는 식품 가격을 기준으로 내림차순 정렬해주세요.

풀이

결과

-- 식품분류별로 가격이 제일 비싼
-- 분류, 가격, 이름을 조회
-- 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력
-- 식품 가격을 기준으로 내림차순 정렬
SELECT A.CATEGORY, B.PRICE, A.PRODUCT_NAME
FROM FOOD_PRODUCT A
INNER JOIN (
    SELECT CATEGORY, MAX(PRICE) AS PRICE
    FROM FOOD_PRODUCT 
    WHERE REGEXP_LIKE(CATEGORY,'과자|국|김치|식용유')
    GROUP BY CATEGORY
) B
ON A.CATEGORY = B.CATEGORY
AND A.PRICE = B.PRICE
ORDER BY B.PRICE DESC
profile
일단 해보자 뭐든 되겠지 😄

0개의 댓글