티스토리 뷰
문제 설명
다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다. FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 의미합니다.
Column nameTypeNullablePRODUCT_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_IDPRODUCT_NAMEPRODUCT_CDCATEGORYPRICEP0018 | 맛있는고추기름 | CD_OL00008 | 식용유 | 6100 |
P0019 | 맛있는카놀라유 | CD_OL00009 | 식용유 | 5100 |
P0020 | 맛있는산초유 | CD_OL00010 | 식용유 | 6500 |
P0021 | 맛있는케첩 | CD_OL00001 | 소스 | 4500 |
P0022 | 맛있는마요네즈 | CD_OL00002 | 소스 | 4700 |
SQL을 실행하면 다음과 같이 출력되어야 합니다.
PRODUCT_IDPRODUCT_NAMEPRODUCT_CDCATEGORYPRICEP0020 | 맛있는산초유 | CD_OL |
풀이
SELECT * from(
select *
from food_product
order by price desc
)where rownum <= 1
위와같은 방법을 쓴 경우는 서브쿼리에서 price기준으로 내림차순을 하여 가격이 제일 비싼것을 위로 끌어 올린다
그 후 where 조건문을 서브쿼리 뒤에 붙임으로서 첫번째가 제일 비싼것을 알수 있다
rownum은 출력되는 표에 번호를 매긴다 맨위가 1번 그밑은 2번
※ 주의 할점은 index가 아니라 0번부터 시작이아니다 그점 햇갈리면 안된다.
'프로그래머스 > DB(oracle)' 카테고리의 다른 글
프로그래머스(59412) 입양 시각 구하기(1) [group by having, to_char] (0) | 2023.04.02 |
---|---|
프로그래머스(59409) 중성화 여부 파악하기 [case when then end, like] (0) | 2023.04.02 |
프로그래머스(59414) DATETIME에서 DATE로 형 변환 [to_char] (0) | 2023.04.02 |
프로그래머스(59410) NULL 처리하기 [NVL] (0) | 2023.04.02 |
프로그래머스(59047) 이름에 el이 들어가는 동물 찾기 [like] (0) | 2023.04.02 |