(프로그래머스_SQL)가격이 제일 비싼 식품의 정보 출력하기(○)

이경영·2024년 1월 8일
0

programmers_sql

목록 보기
2/5

정답

SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE 
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT)

왜 WHERE 절에서는 PRICE = MAX(PRICE) 이런식으로 사용할 수 없을까?
WHERE절에서는 집계함수를 사용할 수 없고, HAVING 절에서는 집계함수를 사용할 수 있습니다.
따라서 서브쿼리를 사용하여 최대값을 불러와서 사용한다

참고

검색하다가 발견한
이전 현금의 합계가 특정 값보다 큰 첫 번째 행을 얻기위한 쿼리.
https://stackoverflow.com/questions/3284409/use-mysql-sum-in-a-where-clause

profile
꾸준히

0개의 댓글