SQL - 문제 미리보기
문제 1548
hard
Microsoft Access에서 `COUNT(DISTINCT Country)`가 지원되지 않을 때 사용할 수 있는 대안 방법은?
정답: C
MS Access의 제한사항:
• `COUNT(DISTINCT column_name)` 함수를 지원하지 않음
• 서브쿼리를 활용한 우회 방법 필요
올바른 대안 방법:
```sql
SELECT Count(*) AS DistinctCountries
FROM (SELECT DISTINCT Country FROM Customers);
```
작동 원리:
1. 내부 쿼리: `SELECT DISTINCT Country FROM Customers`
• 중복 제거된 국가 목록 생성
2. 외부 쿼리: `SELECT Count(*) FROM (...)`
• 중복 제거된 결과의 행 수를 계산
틀린 선택지 분석:
• 1번: 모든 레코드 수 (중복 포함)
• 2번: 문법 오류 (DISTINCT 위치 잘못)
• 4번: UNIQUE는 SQL SELECT에서 사용 안함
다른 DBMS 비교:
```sql
-- MySQL, PostgreSQL, SQL Server (지원됨)
SELECT COUNT(DISTINCT Country) FROM Customers;
-- MS Access (대안 방법)
SELECT Count(*) FROM (SELECT DISTINCT Country FROM Customers);
```
💡 학습 팁
이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.