SQL - 문제 미리보기

문제 1676

hard
다음 쿼리의 실행 결과로 올바른 것은?
```sql
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
```
A. 독일에 있는 고객들의 도시만 중복 제거하여 반환
B. 독일에 있는 공급업체들의 도시만 중복 제거하여 반환
C. 독일에 있는 고객과 공급업체의 도시를 모두 합쳐서 도시명 순으로 정렬하여 반환 (중복 포함)
D. 독일에 있는 고객과 공급업체 정보를 JOIN하여 반환

정답: C


쿼리 실행 과정 단계별 분석:

1단계 - 첫 번째 SELECT
• Customers 테이블에서 Country='Germany'인 행들의 City, Country 조회
• 독일 고객들의 도시와 국가 정보 반환

2단계 - 두 번째 SELECT
• Suppliers 테이블에서 Country='Germany'인 행들의 City, Country 조회
• 독일 공급업체들의 도시와 국가 정보 반환

3단계 - UNION ALL
• 두 결과를 세로로 결합
• 중복되는 행이 있어도 모두 포함

4단계 - ORDER BY
• 전체 결과를 City 컬럼 기준으로 오름차순 정렬

따라서 독일 고객과 공급업체의 모든 도시 정보가 중복 포함된 채로 도시명 순으로 정렬되어 반환됩니다.

💡 학습 팁

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