모두CBT

관계형 데이터베이스의 테이블인 학생(학번, 이름, 학과명)에서 전자상거… | [전자상거래운용사 필기] 04년 1회차 기출문제 상세 페이지

1[전자상거래운용사 필기] 04년 1회차

관계형 데이터베이스의 테이블인 학생(학번, 이름, 학과명)에서 전자상거래과 학생이 50명, 기계과 학생이 100명 있다고 할 때 다음 SQL문 ㈎, ㈏ 의 실행 결과 테이블의 행(튜플) 수는 각각 얼마인가?

㈎ SELECT 학과명 FROM 학생;
㈏ SELECT DISTINCT 학과명 FROM 학생;

1
㈎ 2, ㈏ 2
2
㈎ 150, ㈏ 2
3
㈎ 150, ㈏ 50
4
㈎ 150, ㈏ 150
해설

앞의 질의는 150행, DISTINCT를 붙인 뒤의 질의는 2행이 나온다.

SELECT 학과명 FROM 학생; 은 조건절이 없으므로 학생 테이블의 모든 튜플을 그대로 한 행씩 돌려준다. 전자상거래과 50명 + 기계과 100명 = 150행이며, 학과명이 같은 학생끼리도 각각 별개의 행으로 남는다.

반면 DISTINCT는 결과에서 중복된 값을 제거하는 키워드다. 학과명 열에 실제로 존재하는 값은 '전자상거래과'와 '기계과' 두 가지뿐이므로 결과는 2행으로 줄어든다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.