가격이 제일 비싼 식품의 정보 출력하기
https://school.programmers.co.kr/learn/courses/30/lessons/131115
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1) 문제
다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다.
FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 의미합니다.
FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 의미합니다.
FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요.
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 |
2) 예시
예를 들어 FOOD_PRODUCT 테이블이 다음과 같다면
PRODUCT_ID | PRODUCT_NAME | PRODUCT_CD | CATEGORY | PRICE |
---|---|---|---|---|
P0018 | 맛있는고추기름 | CD_OL00008 | 식용유 | 6100 |
P0019 | 맛있는카놀라유 | CD_OL00009 | 식용유 | 5100 |
P0020 | 맛있는산초유 | CD_OL00010 | 식용유 | 6500 |
P0021 | 맛있는케첩 | CD_OL00001 | 소스 | 4500 |
P0022 | 맛있는마요네즈 | CD_OL00002 | 소스 | 4700 |
SQL문을 실행하면 다음과 같이 나와야 합니다.
PRODUCT_ID | PRODUCT_NAME | PRODUCT_CD | CATEGORY | PRICE |
---|---|---|---|---|
P0020 | 맛있는산초유 | CD_OL00010 | 식용유 | 6500 |
3) 풀이
아래 코드중 2번 MAX 사용하는 법으로 풀이하겠습니다.
1. 테이블에서 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE를 조회합니다.
● SELECT * FROM FOOD_PRODUCT
위 정보들은 테이블내 모든 정보이므로 *로 표현합니다.
2. 가격이 제일 비싼 식품의 정보만 조회합니다.
● WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);
FOOD_PRODUCT 테이블에서 가장 가격이 비싼 값 MAX(PRICE)를 구하고.
WHERE을 이용하여 그 값을 조건으로, 그 값에 해당하는 것만 1번으로 조회합니다.
4) 코드
1. LIMIT 사용하기
SELECT * FROM FOOD_PRODUCT
ORDER BY PRICE DESC
LIMIT 1;
2. MAX 사용하기
SELECT * FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);
'Programmers Coding Test > MySQL' 카테고리의 다른 글
[프로그래머스 59040] MySQL - Level2 고양이와 개는 몇 마리 있을까 (1) | 2023.08.28 |
---|---|
[프로그래머스 59409] MySQL - Level2 중성화 여부 파악하기 (0) | 2023.08.28 |
[프로그래머스 59414] MySQL - Level2 DATETIME에서 DATE로 형 변환 (0) | 2023.08.21 |
[프로그래머스 59410] MySQL - Level2 NULL 처리하기 (0) | 2023.08.21 |
[프로그래머스 59047] MySQL - Level2 이름에 el이 들어가는 동물 찾기 (0) | 2023.08.21 |