SQLDSQL 활용난이도 1MCQ

SQLD SQL 활용 기출문제 #2012

문제

다음 EXISTS를 IN으로 변환한 것으로 가장 적절한 것은?

SQL
SELECT 이름 FROM 학생 A WHERE EXISTS (SELECT 1 FROM 수강 B WHERE A.학번=B.학번 AND B.과목='데이터베이스');

① WHERE 학번 IN (SELECT 학번 FROM 수강) ② WHERE 학번 IN (SELECT 학번 FROM 수강 WHERE 과목='데이터베이스') ③ WHERE EXISTS (SELECT 학번 FROM 수강 WHERE 과목='데이터베이스') ④ WHERE 학번 IN (SELECT 1 FROM 수강 WHERE 과목='데이터베이스')

정답

2

해설

②가 정답입니다. EXISTS를 IN으로 변환할 때는 연결 조건(A.학번=B.학번)을 IN의 서브쿼리에서 SELECT 항목으로 사용하고, 원래 조건(과목='데이터베이스')도 WHERE절에 포함해야 합니다. ①은 과목 조건이 누락되었고, ③은 여전히 EXISTS를 사용하며, ④는 SELECT 1을 잘못 사용했습니다.

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

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

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