SQLDSQL 활용난이도 3MCQ

SQLD SQL 활용 기출문제 #1390

문제

다음 상관 서브쿼리의 실행 결과로 가장 적절한 것은?

SQL
SELECT s.student_id, s.student_name FROM students s WHERE NOT EXISTS ( SELECT 1 FROM enrollments e WHERE e.student_id = s.student_id AND e.course_code IN ('CS101', 'CS102') AND e.grade IN ('A', 'B') );

이 쿼리가 반환하는 학생은?

① CS101과 CS102 모두에서 A 또는 B 성적을 받은 학생 ② CS101 또는 CS102 중 적어도 하나에서 A 또는 B 성적을 받지 않은 학생 ③ CS101과 CS102 중 어느 과목에서도 A 또는 B 성적을 받지 않은 학생 ④ CS101과 CS102를 수강하지 않았거나, 수강했더라도 A 또는 B 성적을 받지 않은 학생

정답

4

해설

NOT EXISTS는 서브쿼리가 결과를 반환하지 않는 경우에만 TRUE가 됩니다. 서브쿼리는 해당 학생이 CS101 또는 CS102에서 A 또는 B 성적을 받은 기록이 있는지 찾습니다. 따라서 이 조건을 만족하는 기록이 없는 학생, 즉 두 과목을 아예 수강하지 않았거나 수강했더라도 A, B 성적을 받지 않은 학생이 반환됩니다.

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

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

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