[알고리즘][X] 가격이 제일 비싼 식품의 정보 출력하기
2023. 9. 20. 13:31ㆍ알고리즘 풀이/SQL
문제 설명
다음은 식품의 정보를 담은 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
나의 풀이
- 먼저 한번 틀리고 고친 풀이. order by와 limit을 사용하면 최대나 최소 행을 구할 수는 있다.
select product_id, product_name, product_cd, category, price from food_product order by price desc limit 1
- 아래와 같이 풀 수도 있다. max(price)와 같이 group function이 들어가면 문법을 nested하게 써줘야 한다는 것을 배웠다.
- 그리고 *를 사용하여 전체를 나타낼 수 있다는 것도 리마인드할 수 있었다.
select * from food_product where price = (select max(price) from food_product)
Reference
'알고리즘 풀이 > SQL' 카테고리의 다른 글
[알고리즘][X] 동명 동물 수 찾기 (0) | 2023.09.21 |
---|---|
[알고리즘][X] 중복 제거하기 (0) | 2023.09.20 |
[알고리즘] 동물 수 구하기 (0) | 2023.09.19 |
[알고리즘] 가장 비싼 상품 구하기 (0) | 2023.09.19 |
[알고리즘] 최댓값 구하기 (0) | 2023.09.18 |