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;
```
정답: 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 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.