다음 [직원] 테이블에 SQL을 실행했을 때 A, B, C, D 값을 … | [SQLD] SQL 개발자 기출유형 모의고사 1회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 1회
다음 [직원] 테이블에 SQL을 실행했을 때 A, B, C, D 값을 순서대로 나열한 것은?

[직원]

사번이름급여수당
1윤서30060
2도윤250(null)
3하준4000
4시우350(null)
5지호20030
SELECT COUNT(*) AS A, COUNT(수당) AS B, AVG(수당) AS C,
       SUM(급여 + 수당) AS D
  FROM 직원;
1
5, 3, 18, 1590
2
5, 5, 18, 990
3
3, 3, 30, 990
4
5, 3, 30, 990
해설

COUNT(수당)·AVG(수당)는 NULL을 제외하고 계산하고, 급여+수당처럼 NULL이 섞인 산술 연산은 결과가 NULL이 되어 SUM에서 빠진다.

A는 전체 5행, B는 0을 포함해 수당이 있는 3행, C는 (60+0+30)/3=30, D는 360+400+230=990이다.

  • 평균 18은 NULL을 0으로 보고 5행으로 나눈 값이다.
  • 1590은 NULL을 0으로 본 SUM(급여)+SUM(수당)의 값이다.
  • COUNT(*)는 NULL 여부와 관계없이 모든 행을 세므로 3이 아니다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 1회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기