출제 25-2다음은 [성적]과 [학생] 테이블에 대한 테이블 디자인이다… | [컴퓨터활용능력 1급 필기] 가끔 나오는 문제 · 최근 상시 회차 1회 출제 (331) 상세 페이지
1[컴퓨터활용능력 1급 필기] 가끔 나오는 문제 · 최근 상시 회차 1회 출제 (331)
출제 25-2
다음은 [성적]과 [학생] 테이블에 대한 테이블 디자인이다. 다음의 테이블을 이용한 1학년 1반 학생들의 학번, 과목, 점수를 조회하는 질의로 가장 올바른 것은?
1
select 학번, 과목, 점수 from 성적 where 학년=1 and 반=1
2
select 학번, 과목, 점수 from 성적 where 학번 in (select 학번 from 학생 where 학년=1 and 반=1)
3
select 학번, 과목, 점수 from 학생 where 학년=1 and 반=1
4
select 학번, 과목, 점수 from 학생 where 학번 in (select 학번 from 학생 where 학년=1 and 반=1)
해설
학년·반은 [학생] 테이블에만 있으므로, 하위 질의로 1학년 1반 학생의 학번을 구한 뒤 [성적]에서 IN으로 조회하는 SQL이 옳습니다.
그림의 테이블 구조는 다음과 같습니다.
[성적]: 학번(기본 키, 짧은 텍스트), 과목(짧은 텍스트), 점수(숫자)
[학생]: 학번(기본 키, 짧은 텍스트), 이름(짧은 텍스트), 학년(숫자), 반(숫자)
- [성적]에서 where 학년=1 and 반=1: [성적]에는 학년·반 필드가 없습니다.
- [학생]에서 학번, 과목, 점수를 조회하는 문장: [학생]에는 과목·점수 필드가 없습니다.
따라서 select 학번, 과목, 점수 from 성적 where 학번 in (select 학번 from 학생 where 학년=1 and 반=1) 형태가 정답입니다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
