[SUM, MAX, MIN] 가격이 제일 비싼 식품의 정보 출력하기

쥬쥬스·2023년 7월 21일
0

SQL

목록 보기
2/67
post-thumbnail

문제
FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요.

sql코드

SELECT *
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT)
  • 서브쿼리를 이용해서 price가 max인 것 추출
  • max는 select문에 작성

다른 코드
다른 해석들도 찾아봤는데, 가격이 제일 비싼 식품 한개를 뽑는 것이므로 limit를 걸어서도 가능하다

SELECT *
FROM FOOD_PRODUCT
ORDER BY PRICE DESC LIMIT 1;

그러나~
속도면에서 보면 MAX는 O(n) 이고 ORDER BY는 정렬이니 O(nlogn)이라 평균적으로 MAX가 더 빠르다

그리고
만약 max 값이 같은 제품이 여러개인 경우 max()는 해당하는 모든 제품들을 다 보여주는데 limit을 이용하면 가장 큰 하나 밖에 안보여준다

여러 방면에서 생각할 수 있겠다. 다른 분들의 해설이 도움이 됐다.

profile
느려도... 꾸준히.....🐌

1개의 댓글

comment-user-thumbnail
2023년 7월 21일

정말 좋은 글 감사합니다!

답글 달기