SQL - 문제 미리보기
문제 1695
medium
다음 쿼리의 실행 결과를 올바르게 예측한 것은?
```sql
SELECT ProductName
FROM Products
WHERE Price > ALL
(SELECT Price FROM Products WHERE CategoryID = 2);
```
정답: C
ALL 연산자의 동작 원리를 단계별로 분석:
1단계 - 서브쿼리 실행:
```sql
SELECT Price FROM Products WHERE CategoryID = 2
```
• CategoryID가 2인 상품들의 가격 목록 반환
• 예: [10, 22, 21.35, 25, 40] (카테고리 2 상품들의 가격)
2단계 - ALL 연산자 적용:
```sql
WHERE Price > ALL (10, 22, 21.35, 25, 40)
```
• 메인 쿼리의 각 상품 가격이 서브쿼리의 모든 가격보다 커야 TRUE
• 즉, 40(최댓값)보다도 커야 함
3단계 - 결과 해석:
• CategoryID가 2인 상품들 중 **가장 비싼 상품(40)**보다 더 비싼 상품들만 선택
• ALL은 "모든 값보다 크다" = "최댓값보다 크다"와 동일
ALL 연산자의 핵심 개념:
• `> ALL` : 모든 값보다 큼 = 최댓값보다 큼
• `< ALL` : 모든 값보다 작음 = 최솟값보다 작음
• `= ALL` : 모든 값과 같음 = 모든 값이 동일하고 그 값과 같음
💡 학습 팁
이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.