다음 상황에서 GROUP BY를 사용한 쿼리의 결과를 예측해보세요.
데이터:
⦁ Or
다음 상황에서 GROUP BY를 사용한 쿼리의 결과를 예측해보세요.
데이터:
⦁ Orders 테이블: OrderID 1,2,3 (ShipperID: 1,1,2)
⦁ Shippers 테이블: ShipperID 1,2,3 (ShipperName: Express, Package, Shipping)
데이터:
⦁ Orders 테이블: OrderID 1,2,3 (ShipperID: 1,1,2)
⦁ Shippers 테이블: ShipperID 1,2,3 (ShipperName: Express, Package, Shipping)
SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders
FROM Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY Shippers.ShipperName;
정답: B
⦁ JOIN 결과 분석:
⦁ OrderID 1 (ShipperID 1) → Express와 매칭
⦁ OrderID 2 (ShipperID 1) → Express와 매칭
⦁ OrderID 3 (ShipperID 2) → Package와 매칭
⦁ Shipping (ShipperID 3)은 주문이 없어 LEFT JOIN 결과에 포함되지 않음
⦁ GROUP BY 처리:
⦁ Express 그룹: COUNT(Orders.OrderID) = 2
⦁ Package 그룹: COUNT(Orders.OrderID) = 1
⦁ 주의사항: LEFT JOIN이 Orders 기준이므로 주문이 없는 Shipping은 결과에 나타나지 않습니다
⦁ 만약 모든 배송업체를 포함하려면 RIGHT JOIN을 사용해야 합니다
💡 학습 팁
이 문제를 포함한 MySQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.