SQL - 문제 미리보기
문제 1710
hard
다음 쿼리에서 빈칸에 들어갈 올바른 구문은?
```sql
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
______ City IS NULL THEN Country
ELSE City
______);
```
```sql
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
______ City IS NULL THEN Country
ELSE City
______);
```
정답: A
ORDER BY 절에서 CASE 표현식을 활용한 고급 정렬 로직:
쿼리의 목적:
• 고객 정보를 정렬하되, 동적 정렬 기준 적용
• City가 있으면 City로 정렬
• City가 NULL이면 Country로 정렬
CASE in ORDER BY의 활용:
```sql
ORDER BY (
CASE
WHEN City IS NULL THEN Country -- City가 없으면 Country 값 사용
ELSE City -- City가 있으면 City 값 사용
END
)
```
실행 과정:
1. 각 행마다 CASE 평가: City의 NULL 여부 확인
2. 정렬 키 결정: NULL이면 Country, 아니면 City
3. 통합 정렬: 결정된 값들로 전체 정렬 수행
💡 학습 팁
이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.