SQL - 문제 미리보기

문제 1691

hard
다음 쿼리에서 빈칸에 들어갈 올바른 내용은? ```sql SELECT SupplierName FROM Suppliers WHERE EXISTS (SELECT ______ FROM Products WHERE Products.SupplierID = Suppliers.SupplierID AND Price < 20); ```
A. `*`
B. `ProductName`
C. `1`
D. 위의 모든 것이 가능하다

정답: D

EXISTS 서브쿼리에서 SELECT 절의 특별한 특성: EXISTS의 핵심 원리: • EXISTS는 서브쿼리가 결과를 반환하는지만 확인 • 서브쿼리에서 어떤 컬럼을 SELECT하는지는 무관 • 실제 데이터 값이 아닌 행의 존재 여부만 중요 각 선택지 검토: 1번 (`*`): • 모든 컬럼 선택 • EXISTS는 값을 사용하지 않으므로 정상 작동 • 다만 불필요한 컬럼까지 처리하여 약간의 오버헤드 2번 (`ProductName`): • 특정 컬럼 선택 • EXISTS는 실제 상품명을 사용하지 않지만 정상 작동 • 컬럼명이 틀려도 행만 존재하면 TRUE 3번 (`1`): • 상수값 사용 (가장 일반적인 관례) • 최소한의 처리로 최적 성능 • 실무에서 권장되는 방식

💡 학습 팁

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