문제
다음 SQL문의 실행 결과로 가장 적절한 것은?
SQLSELECT S.학생명, C.과목명 FROM 학생 S
RIGHT OUTER JOIN 수강 E ON S.학번 = E.학번 LEFT OUTER JOIN 과목 C ON E.과목코드 = C.과목코드;
① 모든 학생과 모든 과목이 조회된다 ② 수강 신청한 학생과 해당 과목만 조회된다 ③ 모든 수강 기록과 과목 정보가 조회되며, 학생이 없는 수강 기록도 포함된다 ④ 학생이 있는 수강 기록과 모든 과목이 조회된다
정답
3번
해설
RIGHT OUTER JOIN으로 수강 테이블의 모든 기록이 유지되므로, 학생 정보가 없는 수강 기록도 결과에 포함될 수 있다. 이후 LEFT OUTER JOIN으로 각 수강 기록에 대응하는 과목 정보를 연결한다. 따라서 결과는 수강 테이블을 기준으로 학생명과 과목명이 조회되며, 학생 정보가 없는 수강 기록도 포함된다.