문제
아래의 SQL문을 실행한 결과는?
<그림> [R1 테이블]
[R2 테이블]
[SQL 문]
① 이름: 홍길동, 강남길, 장미화 ② 이름: 홍길동, 강남길, 오말자 ③ 이름: 홍길동 ④ 이름: 홍길동, 김철수, 강남길, 오말자
정답
2번
해설
정답: 2. 부속 질의 (SELECT 학번 FROM R2 WHERE 과목번호 = 'C100')의 결과는 학번 1000, 3000, 4000이다. 이 학번을 가진 R1의 이름을 조회하면 홍길동(1000), 강남길(3000), 오말자(4000)가 된다.
오답 풀이
- 1번: 장미화(5000)는 C100을 수강하지 않아 포함되지 않는다.
- 2번: 홍길동·강남길·오말자로 정답이다.
- 3번: 3000, 4000번도 C100을 수강하므로 홍길동만 나오는 것은 틀리다.
- 4번: 김철수(2000)는 C100을 수강하지 않아 포함되지 않는다.
보충 개념 IN 부속 질의는 내부 질의 결과 집합에 포함되는 행만 외부 질의에서 선택한다.