SQL - 문제 미리보기

문제 1611

hard
다음 SQL 문들의 차이점을 올바르게 설명한 것은? ```sql -- 쿼리 A SELECT SUM(Quantity) AS Total FROM OrderDetails; -- 쿼리 B SELECT OrderID, SUM(Quantity) AS [Total Quantity] FROM OrderDetails GROUP BY OrderID; ```
A. 두 쿼리는 동일한 결과를 반환한다
B. 쿼리 A는 전체 총합 하나의 값, 쿼리 B는 주문별 합계 여러 값을 반환한다
C. 쿼리 B는 문법 오류가 있다
D. 쿼리 A가 더 많은 행을 반환한다

정답: B

GROUP BY 유무에 따른 집계 결과 차이: 쿼리 A: 전체 집계 (GROUP BY 없음) ```sql SELECT SUM(Quantity) AS Total FROM OrderDetails; ``` 결과: ```txt Total ----- 76 ``` • 하나의 값: 전체 테이블의 총합 • 전역 집계: 모든 행을 하나로 묶어서 계산 쿼리 B: 그룹별 집계 (GROUP BY 있음) ```sql SELECT OrderID, SUM(Quantity) AS [Total Quantity] FROM OrderDetails GROUP BY OrderID; ``` 결과: ```txt OrderID | Total Quantity --------|--------------- 10248 | 27 (12+10+5) 10249 | 49 (9+40) ``` • 여러 개의 값: 각 주문별 합계 • 그룹별 집계: OrderID별로 나누어 계산 GROUP BY 사용시 주의사항: • SELECT 절의 비집계 컬럼은 반드시 GROUP BY에 포함되어야 함 • OrderID가 GROUP BY에 있으므로 올바른 문법 • 집계 함수(SUM)는 각 그룹별로 독립적으로 계산됨

💡 학습 팁

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