문제
내가 작성한 정답 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