정보처리산업기사 기출문제·모의고사·오답노트·자동채점

1999년04월18일 10번

[데이터 베이스]
만약 학생(STUDENT) 테이블에 전산과 학생이 50명, 전자과 학생이 100명, 기계과 학생이 50명 있다고 할 때 다음 SQL 문 (ㄱ),(ㄴ),(ㄷ) 의 실행 결과 튜플 수는 각각 얼마인가? (단 DEPT 필드는 학과명을 의미한다.)

  • ① (ㄱ) 3 (ㄴ) 3 (ㄷ) 1
  • ② (ㄱ) 200 (ㄴ) 3 (ㄷ) 1
  • ③ (ㄱ) 200 (ㄴ) 3 (ㄷ) 50
  • ④ (ㄱ) 200 (ㄴ) 200 (ㄷ) 50
(정답률: 42%)

문제 해설

정답은 "(ㄱ) 200 (ㄴ) 3 (ㄷ) 1" 이다.

(ㄱ)의 경우, UNION 연산자는 중복을 제거하지 않고 모든 결과를 합친다. 따라서 전산과, 전자과, 기계과 학생 수를 모두 합한 200개의 튜플이 결과로 나온다.

(ㄴ)의 경우, GROUP BY 절에서 DEPT 필드를 기준으로 그룹화를 하고 COUNT 함수를 사용하여 각 그룹의 개수를 구한다. 따라서 전산과, 전자과, 기계과 3개의 그룹이 있으므로 결과는 3개의 튜플이 나온다.

(ㄷ)의 경우, WHERE 절에서 DEPT 필드가 '전자과'인 학생만 선택하므로 전자과 학생 수인 100개의 튜플이 결과로 나온다.
AppStore에서 다운로드 APK 다운로드

연도별

진행 상황

0 오답
0 정답