아래의 SQL문을 실행한 결과는?[R1 테이블]학번이름학년학과주소100… | 21년-1회차-정보처리기사-필기 기출문제 상세 페이지
121년-1회차-정보처리기사-필기
아래의 SQL문을 실행한 결과는?
[R1 테이블]
| 학번 | 이름 | 학년 | 학과 | 주소 |
|---|---|---|---|---|
| 1000 | 홍길동 | 4 | 컴퓨터 | 서울 |
| 2000 | 김철수 | 3 | 전기 | 경기 |
| 3000 | 강남길 | 1 | 컴퓨터 | 경기 |
| 4000 | 오말자 | 4 | 컴퓨터 | 경기 |
| 5000 | 장미화 | 2 | 전자 | 서울 |
[R2 테이블]
| 학번 | 과목번호 | 학점 | 점수 |
|---|---|---|---|
| 1000 | C100 | A | 91 |
| 1000 | C200 | A | 94 |
| 2000 | C300 | B | 85 |
| 3000 | C400 | A | 90 |
| 3000 | C500 | C | 75 |
| 3000 | C100 | A | 90 |
| 4000 | C400 | A | 95 |
| 4000 | C500 | A | 91 |
| 4000 | C100 | B | 80 |
| 4000 | C200 | C | 74 |
| 5000 | C400 | B | 85 |
[SQL 문]
SELECT 이름
FROM R1
WHERE 학번 IN
(SELECT 학번
FROM R2
WHERE 과목번호 = 'C100');
1
2
3
4
해설
부속 질의가 과목번호 C100을 수강한 학번을 모으고 바깥 질의가 그 학번의 이름을 뽑으므로, 결과는 홍길동·강남길·오말자 세 행짜리 이름 컬럼이다.
R2 테이블에서 과목번호가 C100인 행의 학번은 1000, 3000, 4000 세 개다.
R1 테이블에서 이 학번에 대응하는 이름은 1000이 홍길동, 3000이 강남길, 4000이 오말자다.
- 김철수(학번 2000)는 C300만 수강해 부속 질의 결과에 학번이 없다.
- 장미화(학번 5000)는 C400만 수강해 역시 제외되므로, 장미화가 들어가거나 다섯 명이 모두 나오거나 김철수가 포함된 결과는 옳지 않다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

