SQLDSQL 활용난이도 2MCQ

SQLD SQL 활용 기출문제 #933

문제

다음 중 특정 조건을 만족하는 행이 '존재하지 않는' 데이터를 조회하는 가장 적절한 방법은?

학생 중에서 '수학' 과목을 수강하지 않은 학생을 찾는 경우

① SELECT * FROM 학생 WHERE 학번 IN (SELECT 학번 FROM 수강 WHERE 과목명='수학') ② SELECT * FROM 학생 WHERE 학번 NOT IN (SELECT 학번 FROM 수강 WHERE 과목명='수학') ③ SELECT * FROM 학생 WHERE EXISTS (SELECT 1 FROM 수강 WHERE 수강.학번=학생.학번 AND 과목명='수학') ④ SELECT * FROM 학생 WHERE NOT EXISTS (SELECT 1 FROM 수강 WHERE 수강.학번=학생.학번 AND 과목명='수학')

정답

4

해설

수학 과목을 수강하지 않은 학생을 찾으려면 NOT EXISTS를 사용해야 합니다. NOT EXISTS는 서브쿼리 결과가 존재하지 않을 때 TRUE를 반환하므로, 해당 학생이 수학 과목을 수강하지 않은 경우에만 조회됩니다. ①은 수강한 학생을 조회, ②는 NULL 처리 문제가 있을 수 있음, ③은 수강한 학생을 조회하는 경우입니다.

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

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

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