다음 중 아래의 <급여> 테이블에 대한 SQL 명령과 실행 … | [컴퓨터활용능력 1급 필기] 13년 3회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 13년 3회차
다음 중 아래의 <급여> 테이블에 대한 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·3의 세 레코드가 있고, 성명은 가·나·다로 모두 채워져 있으며 가족수는 각각 2, 4, 빈 칸이다. 문제의 단서대로 빈 칸은 Null이다.
COUNT(필드명)은 그 필드에서 Null 이 아닌 값의 개수만 센다. 가족수는 세 번째 레코드가 Null 이므로 COUNT(가족수)의 결과는 3이 아니라 2이다. 이 부분이 잘못된 설명이다.
반면 성명에는 Null 이 없으므로 COUNT(성명)은 3이 맞고, COUNT(*)는 특정 필드의 Null 여부와 상관없이 레코드 수 자체를 세므로 역시 3이다. 가족수 Is Null 조건을 만족하는 레코드는 사원번호 3 하나뿐이므로 그 개수는 1이 된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
