Sparta/CODEKATA

[250918] 스파르타코딩 본캠프 33일차

junecho 2025. 9. 18. 12:18

💥  CODEKATA                                                                                                           

~ 92문제

 

 

 

91) Not Boring Movies

# 내코드1 - SELECT *
SELECT *
FROM cinema
WHERE (id % 2 != 0) AND (description != "boring")
ORDER BY rating DESC

# 내코드2 - 컬럼들 하나하나 다 지정해줬을 때
SELECT id, movie, description, rating
FROM cinema
WHERE (id % 2 != 0) AND (description != "boring")
ORDER BY rating DESC

 

오 역시 컬럼들 일일이 지정해주는 것보단, * 이 더 빠름

 

 

 

92) Average Selling Price

SELECT 
    p.product_id, IFNULL(ROUND(SUM(p.price * u.units) / SUM(u.units), 2), 0) AS average_price
FROM prices p LEFT JOIN unitssold u ON p.product_id = u.product_id AND u.purchase_date BETWEEN p.start_date AND p.end_date 
GROUP BY p.product_id

맨 처음엔 IFNULL 안하고 제출했더니, 서버 테스트에서 unitssold가 아예 없을 경우 average_price가 0이 아니라 Null 값으로 출력돼서 틀렸다고 함.

그래서 IF(조건문~~ IS NULL, 0, 조건문) 해서 Null 값 치환하려고 했더니 이것도 안통해서 Null값 치환하는 다른 방법 있나 검색해봄

답은 IFNULL 이었다. IF문으로 IS NULL 해서 치환하는 것보다 훨씬 간편하다 ! 좋은 깨달음. 굿