SQL - 문제 미리보기
문제 1691
hard
다음 쿼리에서 빈칸에 들어갈 올바른 내용은?
```sql
SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ______ FROM Products
WHERE Products.SupplierID = Suppliers.SupplierID
AND Price < 20);
```
정답: D
EXISTS 서브쿼리에서 SELECT 절의 특별한 특성:
EXISTS의 핵심 원리:
• EXISTS는 서브쿼리가 결과를 반환하는지만 확인
• 서브쿼리에서 어떤 컬럼을 SELECT하는지는 무관
• 실제 데이터 값이 아닌 행의 존재 여부만 중요
각 선택지 검토:
1번 (`*`):
• 모든 컬럼 선택
• EXISTS는 값을 사용하지 않으므로 정상 작동
• 다만 불필요한 컬럼까지 처리하여 약간의 오버헤드
2번 (`ProductName`):
• 특정 컬럼 선택
• EXISTS는 실제 상품명을 사용하지 않지만 정상 작동
• 컬럼명이 틀려도 행만 존재하면 TRUE
3번 (`1`):
• 상수값 사용 (가장 일반적인 관례)
• 최소한의 처리로 최적 성능
• 실무에서 권장되는 방식
💡 학습 팁
이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.