SQL - 문제 미리보기

문제 1681

hard
다음 쿼리에서 빈칸에 들어갈 올바른 구문은? ```sql SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID ______ ShipperName; ```
A. `ORDER BY`
B. `WHERE`
C. `GROUP BY`
D. `HAVING`

정답: C

복합 쿼리 구조의 단계별 분석: 쿼리 구성 요소: • FROM Orders: Orders 테이블을 기본으로 시작 • LEFT JOIN Shippers: Shippers 테이블과 외부 조인 • SELECT: 배송업체명과 주문 건수(COUNT)를 조회 • AS NumberOfOrders: COUNT 결과에 별칭 부여 GROUP BY가 필요한 핵심 이유: 1. 집계 함수 사용: COUNT(Orders.OrderID)로 주문 건수 계산 2. 비집계 컬럼 포함: ShipperName이 SELECT에 포함됨 3. 그룹화 필요: 각 배송업체별로 주문 건수를 따로 계산해야 함 실행 과정: 1. Orders와 Shippers 테이블을 LEFT JOIN으로 연결 2. ShipperName으로 그룹화 (같은 배송업체끼리 묶기) 3. 각 그룹별로 주문 건수(COUNT) 계산 4. (배송업체명, 주문건수) 형태로 결과 반환 JOIN과 GROUP BY 조합의 특징: • JOIN으로 테이블을 연결한 후 GROUP BY로 집계 • 실무에서 매우 자주 사용되는 패턴 • "각 카테고리별 상품 수", "각 부서별 직원 수" 등에 활용

💡 학습 팁

이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.