다음 중 아래의 <급여> 테이블에 대한 SQL 명령과 실행 … | [컴퓨터활용능력 1급 필기] 17년 2회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 17년 2회차
다음 중 아래의 <급여> 테이블에 대한 SQL 명령과 실행 결과로 옳지 않은 것은? (단, 빈 칸은 Null임)
1
SELECT COUNT(성명) FROM 급여; 를 실행한 결과는 3이다.
2
SELECT COUNT(가족수) FROM 급여; 를 실행한 결과는 3이다.
3
SELECT COUNT(*) FROM 급여; 를 실행한 결과는 3이다.
4
SELECT COUNT(*) FROM 급여 WHERE 가족수 Is Null; 을 실행한 결과는 1이다.
해설
<급여> 테이블은 사원번호 1(가, 가족수 2), 2(나, 가족수 4), 3(다, 가족수 비어 있음=Null) 세 개의 레코드로 이루어져 있다. COUNT 집계에서 핵심은 COUNT(필드)는 그 필드가 Null인 행을 세지 않고, COUNT(*)는 Null 여부와 관계없이 전체 행 수를 센다는 점이다.
가족수 필드는 세 번째 레코드가 Null이므로 COUNT(가족수)의 결과는 2다. 이를 3이라고 한 설명이 옳지 않다.
나머지는 모두 맞다. 성명은 가·나·다 세 값이 모두 채워져 있어 COUNT(성명)은 3, 전체 행 수를 세는 COUNT(*)도 3이다. 또 가족수가 Null인 행은 사원번호 3 하나뿐이므로 WHERE 가족수 Is Null 조건을 준 COUNT(*)는 1이 된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
