SQLDSQL 활용윈도우 함수난이도 2MCQ

SQLD 윈도우 함수 기출문제 #3650

문제

각 행에 전체 합계와 부서별 합계를 함께 출력하는 SQL로 가장 적절한 것은?

① SELECT DEPTNO, SAL, SUM(SAL) OVER() AS 전체합계, SUM(SAL) OVER(PARTITION BY DEPTNO) AS 부서합계 FROM EMP ② SELECT DEPTNO, SAL, SUM(SAL) AS 전체합계, SUM(SAL) AS 부서합계 FROM EMP ③ SELECT DEPTNO, SAL FROM EMP GROUP BY SUM(SAL) ④ SELECT DEPTNO, SAL, COUNT(*) OVER(PARTITION BY SAL) AS 전체합계 FROM EMP

정답

1

해설

정답: 1. 전체 합계는 SUM(SAL) OVER(), 부서별 합계는 SUM(SAL) OVER(PARTITION BY DEPTNO)로 구할 수 있다.

오답 풀이

  • 1번: 분석 함수를 올바르게 사용했다.
  • 2번: 일반 집계 함수와 일반 컬럼을 함께 사용하려면 GROUP BY가 필요하며 행별 출력 목적에도 맞지 않는다.
  • 3번: GROUP BY 사용 방식이 잘못되었다.
  • 4번: COUNT를 사용하고 있어 급여 합계를 구하지 못한다.

보충 개념 윈도우 함수는 행을 유지한 상태에서 집계 결과를 함께 보여줄 수 있다. PARTITION BY는 집계 범위를 그룹 단위로 나누는 역할을 한다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 윈도우 함수 SQL 활용 기출 #3650 | 문어CBT