SQLDSQL 활용난이도 2MCQ

SQLD SQL 활용 기출문제 #1331

문제

다음 중 상관 서브쿼리를 독립 서브쿼리로 변환할 때 가장 적절한 방법은?

SQL
-- 원본 쿼리 SELECT 고객명 FROM 고객 A WHERE EXISTS ( SELECT 1 FROM 주문 B WHERE A.고객ID = B.고객ID AND B.주문일자 >= '2024-01-01' );

① SELECT 고객명 FROM 고객 WHERE 고객ID IN (SELECT 고객ID FROM 주문) ② SELECT 고객명 FROM 고객 WHERE 고객ID IN (SELECT 고객ID FROM 주문 WHERE 주문일자 >= '2024-01-01') ③ SELECT 고객명 FROM 고객 A, 주문 B WHERE A.고객ID = B.고객ID ④ SELECT 고객명 FROM 고객 WHERE EXISTS (SELECT 1 FROM 주문 WHERE 주문일자 >= '2024-01-01')

정답

2

해설

②번이 정답입니다. 상관 서브쿼리를 독립 서브쿼리로 변환할 때는 외부 테이블과의 연결 조건(A.고객ID = B.고객ID)을 제거하고, 서브쿼리 내의 모든 조건(주문일자 >= '2024-01-01')을 유지해야 합니다. ①번은 날짜 조건이 누락되었고, ③번은 JOIN 방식이며, ④번은 여전히 상관관계가 제거되지 않았습니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] SQL 활용 기출 #1331 | sqldpass