다음 두 쿼리의 결과는 어떻게 다른가요?
UnitsOnOrder가 NULL인 레코드에 대
다음 두 쿼리의 결과는 어떻게 다른가요?
UnitsOnOrder가 NULL인 레코드에 대해:
-- 쿼리 A
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder) FROM Products;
-- 쿼리 B
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0)) FROM Products;
UnitsOnOrder가 NULL인 레코드에 대해:
정답: B
⦁ 쿼리 A의 문제점:
⦁ UnitsOnOrder가 NULL이면 전체 계산식이 NULL이 됩니다
⦁ 실제 재고 가치를 계산할 수 없습니다
⦁ 쿼리 B의 장점:
⦁ IFNULL(UnitsOnOrder, 0)으로 NULL을 0으로 처리
⦁ UnitPrice * (UnitsInStock + 0) = 실제 계산 가능
⦁ 실무 의미: 주문 대기량이 없다면 0으로 간주하는 것이 합리적
⦁ NULL 처리는 데이터 분석에서 매우 중요한 부분입니다
💡 학습 팁
이 문제를 포함한 MySQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.