문제
관계 데이터베이스인 테이블 R1에 대한 아래 SQL 문의 실행 결과로 옳은 것은?
<그림> [ R1 ]
[ SQL 문 ]
① 학년: 1, 1, 2, 2, 3 (5행) ② 학년: 1, 2, 3 (3행) ③ 이름/학년: 홍길동 1 ... (이름·학년 2개 컬럼) ④ 이름/학년: 5행 전체 출력
정답
2번
해설
정답: 2. SELECT DISTINCT 학년 FROM R1은 R1의 학년 열에서 중복을 제거해 출력한다. 학년 값은 1, 1, 2, 2, 3이므로 중복을 제거하면 1, 2, 3의 3행이 출력된다.
오답 풀이
- 1번: DISTINCT가 중복을 제거하므로 1,1,2,2,3(5행)이 그대로 나오지 않는다.
- 2번: 중복 제거 결과 1,2,3의 3행이므로 정답이다.
- 3번: 질의에 이름 열이 없으므로 이름은 출력되지 않는다.
- 4번: 단일 학년 열만, 그것도 중복 없이 출력된다.
보충 개념 SELECT DISTINCT는 지정한 열에서 중복 튜플을 제거하고 서로 다른 값만 반환한다.