문제
두 상품을 '모두' 구매한 고객을 찾는 올바른 SQL은?
① WHERE 상품ID=10 AND 상품ID=20 ② WHERE 상품ID IN (10, 20) ③ SELECT 고객번호 FROM 주문 WHERE 상품ID=10 INTERSECT SELECT 고객번호 FROM 주문 WHERE 상품ID=20 ④ WHERE 상품ID=10 OR 상품ID=20
정답
3번
해설
③이 정답입니다. INTERSECT는 교집합 연산으로 두 결과에서 공통으로 나타나는 고객번호를 반환하므로 두 상품을 모두 구매한 고객을 찾을 수 있습니다. ①은 한 행에서 상품ID가 동시에 두 값을 가질 수 없으므로 불가능하고, ②와 ④는 둘 중 하나라도 구매한 고객을 찾는 조건입니다.