[Programmers-SQL] 식품분류별 가장 비싼 식품의 정보 조회하기

ouneno·2023년 3월 9일
0

Programmers-SQL

목록 보기
20/26
post-thumbnail

2023-03-09 목요일

💡 식품분류별 가장 비싼 식품의 정보 조회하기


💡 문제 해석

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


💡 요약

  1. SELECT 분류, 가격, 이름 조회
  2. WHERE 가격이 제일 비싼 식품
  3. WHERE 과자/국/김치/식용유만 출력
  4. GROUP BY 식품분류별
  5. ORDER BY 식품 가격 내림차순
  6. 개별적으로 예시에 따라 PRICE는 MAX_PRICE로 출력 함

💡 컬럼 설명

  • PRODUCT_ID - VARCHAR(10) - 식품 ID
  • PRODUCT_NAME - VARCHAR(50) - 식품 이름
  • PRODUCT_CD - VARCHAR(10) - 식품 코드
  • CATEGORY - VARCHAR(10) - 식품 분류
  • PRICE - NUMBER - 식품가격

1. FOOD_PRODUCT 테이블 전체 출력하기

SELECT * FROM FOOD_PRODUCT

💻 출력


2. 분류, 가격(AS MAX_PRICE), 이름 출력하기

SELECT category
        , price AS MAX_PRICE
        , product_name
FROM FOOD_PRODUCT

💻 출력


3. 과자, 국, 김치, 식용류인 식품 분류만 출력하기

SELECT category
        , price AS MAX_PRICE
        , product_name
FROM FOOD_PRODUCT
WHERE category IN ('과자', '국', '김치', '식용유')

💻 출력

💡 WHERE IN 문법 활용

WHERE 컬럼명 IN ('a','b','c','d')
  • 컬럼명 중에서 a, b, c, d 만을 출력한다.

4. 가장 금액대가 높은 category 출력

1. WHERE절에 subquery를 사용하여 출력하였다

SELECT MAX(price)
  FROM FOOD_PRODUCT
GROUP BY category

💻 출력

💡 해석

FOOD_PRODUCT 테이블의 데이터들 중에서 category 별로 가장 높은 price를 출력하고, price는 내림차순으로 정렬한다

2. 전체 쿼리 출력

SELECT category
        , price AS MAX_PRICE
        , product_name
FROM FOOD_PRODUCT
WHERE price IN ( SELECT MAX(price)
                   FROM FOOD_PRODUCT
                  GROUP BY category ) AND category IN ('과자', '국', '김치', '식용유')

💻 출력


5. price 내림차순 출력

SELECT category
        , price AS MAX_PRICE
        , product_name
FROM FOOD_PRODUCT
WHERE price IN ( SELECT MAX(price)
                   FROM FOOD_PRODUCT
                  GROUP BY category ) AND category IN ('과자', '국', '김치', '식용유')
ORDER BY price DESC

💻 출력

profile
지속적인 성장을 추구하는 새싹 개발자입니다🌱

0개의 댓글