Welcome! Everything is fine.

[프로그래머스/Lv.1] 가격이 제일 비싼 식품의 정보 출력하기 - MySQL 본문

프로그래머스/SQL

[프로그래머스/Lv.1] 가격이 제일 비싼 식품의 정보 출력하기 - MySQL

개발곰발 2024. 3. 11.
728x90

📌 문제

📌 제출한 오답

처음에 다음과 같이 제출했는데 틀렸다. 상품과 제대로 매치되지 않고 최대값인 가격만 따로 출력되어 틀린 것이다.

SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, MAX(PRICE) AS PRICE
FROM FOOD_PRODUCT;

📌 정답

서브쿼리를 이용해 가격이 가장 비쌀 때 다른 정보들을 조회하도록 했다.

또한 테이블의 전체 열이 다 출력되기 때문에 일일히 적지 않고 *을 이용해 출력했다.

SELECT *
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);

 

다른 풀이도 봤는데, 아래 코드는 가격을 기준으로 내림차순으로 정렬한 후 제일 상단에 있는 데이터를 조회한다.

SELECT *
FROM FOOD_PRODUCT
ORDER BY PRICE DESC
LIMIT 1;

📌 기억할 것

  • 서브쿼리는 SELECT, FROM, WHERE절에 사용될 수 있다.