[SQL] 가격이 제일 비싼 식품의 정보 출력하기
by Roel Downey728x90
반응형
[SQL] 가격이 제일 비싼 식품의 정보 출력하기
문제
풀이
-> 쉽게 풀고 싶어서 해본 방법
Oracle로 풀었고 가격을 가장 비싼 식품을 정렬을 한 다음 제일 위에 있는 한줄을 뽑아 냈다.
-- 코드를 입력하세요
SELECT PRODUCT_ID,PRODUCT_NAME,PRODUCT_CD,CATEGORY,PRICE
from (SELECT PRODUCT_ID,PRODUCT_NAME,PRODUCT_CD,CATEGORY,PRICE
from FOOD_PRODUCT
order by PRICE desc )
where rownum = 1;
MAX는 O(n) 이고 ORDER BY는 정렬이니 O(nlogn)이라 평균적으로 MAX가 더 빠르다.
또한 MAX 값이 여러 개인 경우 max()는 해당하는 모든 제품들을 다 보여주는데 limit을 이용하면 가장 큰 하나 밖에 안 보여준다.
SELECT *
FROM FOOD_PRODUCT
ORDER BY PRICE DESC LIMIT 1
SELECT *
FROM FOOD_PRODUCT
WHERE PRICE IN (SELECT MAX(PRICE)
FROM FOOD_PRODUCT)
728x90
반응형
'알고리즘_자료구조 > SQL문제풀이' 카테고리의 다른 글
[SQL] 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2023.08.03 |
---|---|
[SQL] 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2023.03.13 |
[SQL] 경기도에 위치한 식품창고 목록 출력하기 (0) | 2023.03.10 |
[SQL] 조건별로 분류하여 주문상태 출력하기 (0) | 2023.03.10 |
[SQL] 강원도에 위치한 생산공장 목록 출력하기 (0) | 2023.03.10 |
블로그의 정보
What doing?
Roel Downey