[level 2] 가격이 제일 비싼 식품의 정보 출력하기 - 131115
성능 요약
메모리: 0.0 MB, 시간: 0.00 ms
구분
코딩테스트 연습 > SUM, MAX, MIN
채점결과
Empty
제출 일자
2024년 09월 11일 21:08:21
문제 설명
다음은 식품의 정보를 담은 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문을 작성해주세요.
예시
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 |
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
나의 풀이
처음에는 select안에 max를 넣어 WHERE절 없이 적었다
왜 잘못된건지 모르고 있다가 max(PRICE)왜의 값들은 1번 ID값만 출력되는 것을 볼 수 있었다
집계함수임 max로 뽑아낸 가격은 맞지만 나머지 값이 해당 가격에 해당하지 않는 내용을 가져온 것이다
그래서 서브쿼리로 작성했고, DESC로 정렬해서 첫번째 값만 읽어오는 방법도 좋을 것 같다
-- 코드를 입력하세요
SELECT PRODUCT_ID,PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE
FROM FOOD_PRODUCT
WHERE PRICE =
(SELECT max(PRICE) FROM FOOD_PRODUCT)
# P0051 맛있는배추김치 CD_KC00001 김치 19000
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 자동차 대여 기록에서 장기/단기 대여 구분하기- SQL[ DATE ] (3) | 2024.10.02 |
---|---|
[프로그래머스] 재구매가 일어난 상품과 회원 리스트 구하기- SQL[ SELECT ] (2) | 2024.09.13 |
[프로그래머스] - [PCCE 기출문제] 10번 / 데이터 분석 - python[ 구현 ] (0) | 2024.05.22 |
[프로그래머스] 둘만의 암호- python[문자열] (1) | 2024.04.12 |
[프로그래머스 ] 숫자 짝꿍 - python[ 구현 ] (1) | 2024.04.07 |