inblog logo
|
silver
    SQL문제풀기

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

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

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/131115
     

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

    RSS·Powered by Inblog