728x90
반응형
문제 설명
다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다. FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 의미합니다.
Column name | Type | Nullable |
PRODUCT_ID | VARCHAR(10) | FALSE |
PRODUCT_NAME | VARCHAR(50) | FALSE |
PRODUCT_CD | VARCHAR(10) | TRUE |
CATEGORY | VARCHAR(10) | TRUE |
PRICE | NUMBER | TRUE |
문제
FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해 주세요.
문제풀이
이 문제는 자칫 아래와 같은 실수를 할 수도 있다.
SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, MAX(PRICE)
FROM FOOD_PRODUCT;
하지만 이 코드는 가격이 최대인 상품과 최대 가격이 매칭되지 않는다. 이 문제를 해결하기 위해서는 WHERE절에서 매핑이 되어야 한다. 따라서 WHERE절에서 서브쿼리를 사용하여 최댓값이라는 조건을 달아야 한다.
MySQL 정답 예시
더보기
SELECT *
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);
Oracle 정답 예시
더보기
SELECT *
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);
728x90
반응형
'Study > SQL' 카테고리의 다른 글
[MySQL/ORACLE] 프로그래머스 - 가격대 별 상품 개수 구하기 (0) | 2023.06.27 |
---|---|
[MySQL/ORACLE] 프로그래머스 - 조건에 맞는 회원수 구하기 (0) | 2023.06.24 |
[MySQL/ORACLE] 프로그래머스 - 12세 이하인 여자 환자 목록 출력하기 (0) | 2023.06.22 |
[MySQL/ORACLE] 프로그래머스 - 과일로 만든 아이스크림 고르기 (0) | 2023.06.21 |
[MySQL/ORACLE] 프로그래머스 - 평균 일일 대여 요금 구하기 (0) | 2023.06.20 |