[SQL문제풀기] 가격이 제일 비싼 식품의 정보 출력하기

silver's avatar
Dec 05, 2024
[SQL문제풀기] 가격이 제일 비싼 식품의 정보 출력하기
 

문제

 

내가 작성한 정답 1 - MYSQL

SELECT * FROM FOOD_PRODUCT ORDER BY PRICE DESC LIMIT 1;
 
내가 작성한 정답 2
SELECT * FROM FOOD_PRODUCT WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);
 
💡
집계함수는 WHERE절에 조건으로 사용할 수 없다 → 서브쿼리 이용하자!
 

내가 작성한 정답 1 - ORACLE

SELECT * FROM (SELECT * FROM FOOD_PRODUCT ORDER BY PRICE DESC) WHERE ROWNUM = 1;
 
💡
ORACLE에서 ROWNUM은 ORDER BY로 정렬되기 전의 값에서 ROWNUM조건을 만족하는 결과값을 도출한다. ROWNUM은 WHERE절 안에 넣어줘야한다!
 
내가 작성한 정답 2 - MYSQL과 동일
SELECT * FROM FOOD_PRODUCT WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);
Share article

silver