📍 문제
다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다.
PRODUCT_ID - 식품 ID
PRODUCT_NAME - 식품 이름
PRODUCT_CD - 식품 코드
CATEGORY - 식품분류
PRICE - 식품 가격
FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요.
처음에
SELECT
PRODUCT_ID,
PRODUCT_NAME,
PRODUCT_CD,
CATEGORY,
MAX(PRICE) AS PRICE
FROM FOOD_PRODUCT
이따구로 풀고
아~ ㅋ 쉽네? 해놓고
채점해 보니까 틀렸다는 청천벽력같은 말이 팝업창에 뜨길래 찾아보니까,
그냥 생으로 SELECT문에 PRICE에만 MAX를 사용하면, PRICE만 최댓값으로 나오고 나머지 행들은 모두 그냥 첫 번째 행에 있는 값으로만 출력되게 된다고 한다. 그래서 최댓값을 구하려면 서브 쿼리를 이용해, 전체적으로 최댓값인 행을 구하라고 적용해 주어야 내가 원하는 최댓값을 출력하는 쿼리를 작성한 게 된다.
SELECT
PRODUCT_ID,
PRODUCT_NAME,
PRODUCT_CD,
CATEGORY,
PRICE
FROM FOOD_PRODUCT
WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT)
서브 쿼리 작성하는 게 아직 미숙한데 많이 활용해 보아야겠다.