반응형
SQL 고득점 Kit 문제 풀이
SUM, MAX, MIN Level 2 가격이 제일 비싼 식품의 정보 출력하기
<문제>
FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요.
SELECT *
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT)
전체 컬럼을 조회하되, "가격이 제일 비싼 식품"의 행만 추출해야하므로 WHERE을 사용했다.
1. 서브쿼리 (SELECT MAX(PRICE) FROM FOOD_PRODUCT)
이 부분은 'FOOD_PRODUCT' 테이블 전체에서 가장 높은 가격, 즉 최대 가격을 찾는 역할을 한다.
MAX 함수를 통해 PRICE 컬럼의 최대값을 계산할 수 있고,
이 서브쿼리의 실행 결과는 'FOOD_PRODUCT' 테이블 내의 가장 높은 가격을 가진 제품의 가격이 된다.
2. 메인 쿼리 WHERE PRICE = 조건
'FOOD_PRODUCT' 테이블의 각 제품 가격을, 앞서 서브쿼리에서 구한 최대 가격 값과 비교한다.
즉, 가장 비싼 제품의 가격과 일치하는 모든 레코드를 선택하게 된다.
(만약 최대 가격을 가진 제품이 여러 개면, 그걸 모두 결과로 반환함)
https://school.programmers.co.kr/learn/courses/30/lessons/131115
반응형
'CODING🖥️ > Programmers' 카테고리의 다른 글
[MySQL] 프로그래머스 SQL 조건에 맞는 아이템들의 가격의 총합 구하기 | SUM, AS, WHERE (0) | 2024.03.29 |
---|---|
[MySQL] 프로그래머스 SQL 중복 제거하기 | COUNT, DISTINCT 함수 (0) | 2024.03.29 |