다음 쿼리에서 서브쿼리 내부의 연결 조건이 중요한 이유는 무엇인가요?

과목: MySQL

문제 번호: 3174

medium
다음 쿼리에서 서브쿼리 내부의 연결 조건이 중요한 이유는 무엇인가요?
SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products 
              WHERE Products.SupplierID = Suppliers.SupplierID AND Price = 22);
A. 서브쿼리의 실행 속도를 향상시키기 위해서입니다
B. 각 공급업체별로 해당하는 상품만 검사하기 위해서입니다
C. 중복된 결과를 제거하기 위해서입니다
D. 서브쿼리의 결과를 정렬하기 위해서입니다

정답: B



Products.SupplierID = Suppliers.SupplierID 조건이 핵심입니다

⦁ 이 조건이 없으면 모든 상품에 대해 검사하게 되어 잘못된 결과가 나옵니다

⦁ 연결 조건을 통해 각 공급업체마다 자신이 공급하는 상품들만 검사합니다

⦁ 이를 "상관 서브쿼리(Correlated Subquery)"라고 합니다

⦁ 메인 쿼리의 각 행에 대해 서브쿼리가 반복 실행됩니다

💡 학습 팁

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