SQL - 문제 미리보기
문제 1616
hard
다음 SQL 문의 결과는 어떤 의미인가요?
```sql
SELECT AVG(Price) AS AveragePrice, CategoryID
FROM Products
GROUP BY CategoryID;
```
```sql
SELECT AVG(Price) AS AveragePrice, CategoryID
FROM Products
GROUP BY CategoryID;
```
정답: C
GROUP BY와 AVG() 함수의 조합:
• GROUP BY: 데이터를 카테고리별로 그룹화
• AVG(): 각 그룹별로 독립적으로 평균값 계산
• 결과: 카테고리별 평균 가격 통계
실행 과정 상세:
1단계: 데이터 그룹화 (GROUP BY CategoryID)
```sql
그룹 1 (CategoryID = 1):
- ProductID 1: Chais (18)
- ProductID 2: Chang (19)
그룹 2 (CategoryID = 2):
- ProductID 3: Aniseed Syrup (10)
- ProductID 4: Chef Anton's Cajun... (22)
- ProductID 5: Chef Anton's Gumbo... (21.35)
```
2단계: 각 그룹별 AVG() 계산
```sql
카테고리 1: AVG(18, 19) = 37 ÷ 2 = 18.5
카테고리 2: AVG(10, 22, 21.35) = 53.35 ÷ 3 = 17.78
```
3단계: 최종 결과
```sql
AveragePrice | CategoryID
-------------|------------
18.5 | 1
17.78 | 2
```
GROUP BY의 핵심 개념:
• 분할 정복: 전체를 작은 그룹으로 나누어 처리
• 그룹별 독립 계산: 각 그룹에서 별도로 평균 계산
• 비교 분석 가능: 카테고리간 평균 가격 비교
• GROUP BY: 데이터를 카테고리별로 그룹화
• AVG(): 각 그룹별로 독립적으로 평균값 계산
• 결과: 카테고리별 평균 가격 통계
실행 과정 상세:
1단계: 데이터 그룹화 (GROUP BY CategoryID)
```sql
그룹 1 (CategoryID = 1):
- ProductID 1: Chais (18)
- ProductID 2: Chang (19)
그룹 2 (CategoryID = 2):
- ProductID 3: Aniseed Syrup (10)
- ProductID 4: Chef Anton's Cajun... (22)
- ProductID 5: Chef Anton's Gumbo... (21.35)
```
2단계: 각 그룹별 AVG() 계산
```sql
카테고리 1: AVG(18, 19) = 37 ÷ 2 = 18.5
카테고리 2: AVG(10, 22, 21.35) = 53.35 ÷ 3 = 17.78
```
3단계: 최종 결과
```sql
AveragePrice | CategoryID
-------------|------------
18.5 | 1
17.78 | 2
```
GROUP BY의 핵심 개념:
• 분할 정복: 전체를 작은 그룹으로 나누어 처리
• 그룹별 독립 계산: 각 그룹에서 별도로 평균 계산
• 비교 분석 가능: 카테고리간 평균 가격 비교
💡 학습 팁
이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.