반응형
Ant_U
DBA 개미
Ant_U
전체 방문자
오늘
어제
  • 분류 전체보기 (262)
    • AWS (3)
    • C# (1)
    • SQL (236)
      • MYSQL (186)
      • MSSQL (50)
    • 자격증 (20)
      • SQLD (12)
      • SQLP (8)

인기 글

최근 글

250x250
hELLO · Designed By 정상우.
Ant_U

DBA 개미

SQLP 자격증 대비: 집계 함수와 윈도우 함수 완벽 정리
자격증/SQLP

SQLP 자격증 대비: 집계 함수와 윈도우 함수 완벽 정리

2025. 6. 18. 16:56
728x90
반응형

 

SQLP 자격증 대비: 집계 및 윈도우 함수 정리

SQLP 자격증을 준비하면서 가장 핵심적으로 출제되는 파트 중 하나가 집계 함수와 윈도우 함수입니다. 이 두 가지 개념을 정확히 이해하고 차이점을 명확히 알고 있으면 시험뿐 아니라 실무 SQL 작성에서도 큰 도움이 됩니다. 이 글에서는 SQLP 관점에서 꼭 알아야 할 내용을 깔끔히 정리합니다.

집계 함수 (Aggregate Functions)

집계 함수는 그룹 전체의 값을 요약하여 하나의 결과를 반환합니다. 일반적으로 GROUP BY 절과 함께 사용되지만, 전체 테이블을 대상으로 단일 요약 값을 구할 수도 있습니다.

주요 집계 함수

  • COUNT(): 행 개수 세기
  • SUM(): 합계
  • AVG(): 평균
  • MIN() / MAX(): 최소 / 최대값

예제

SELECT 부서번호, COUNT(*) AS 직원수, AVG(급여) AS 평균급여
FROM 사원
GROUP BY 부서번호;

이 예제는 각 부서별 직원 수와 평균 급여를 구합니다.

특징

  • 그룹 단위로 하나의 결과 반환
  • 그룹핑되지 않은 일반 컬럼은 SELECT 절에 쓸 수 없음 (GROUP BY 제약)

윈도우 함수 (Window Functions)

윈도우 함수는 집계처럼 요약하지만, 행을 소멸시키지 않고 각 행마다 계산된 집계 결과를 보여줍니다. OVER() 절을 사용해 분석 범위(Window)를 정의합니다.

주요 윈도우 함수

  • SUM() OVER(): 누적 합계
  • AVG() OVER(): 이동 평균 등 가능
  • ROW_NUMBER() OVER(): 순번 부여
  • RANK() / DENSE_RANK(): 순위 부여
  • LAG() / LEAD(): 이전/다음 행 값 참조

예제

SELECT 사원번호, 부서번호, 급여,
       SUM(급여) OVER (PARTITION BY 부서번호) AS 부서별총급여
FROM 사원;

이 예제는 부서별 총급여를 각 사원 행마다 표시합니다.

특징

  • 행을 제거하지 않음 (모든 원본 행 유지)
  • PARTITION BY로 그룹 범위 지정 가능
  • ORDER BY로 정렬 기준 지정 가능

집계 함수 vs 윈도우 함수 차이 정리

구분집계 함수윈도우 함수

반환 행 그룹 당 1행 원본 행 수 유지
사용 위치 SELECT, HAVING SELECT, ORDER BY
주요 절 GROUP BY OVER (PARTITION BY / ORDER BY)

SQLP에서는 이 차이를 묻는 문제가 자주 출제됩니다. 특히 "소멸형 집계 vs 비소멸형 집계"라는 용어로 구분하는 경우도 있습니다.

SQLP 실전 대비 팁

  1. OVER() 절 없이 단순 SUM() 사용 → 집계 함수
  2. OVER() 절이 나오면 → 윈도우 함수
  3. 시험에서 PARTITION BY 유무에 따른 결과 차이를 잘 파악하세요.
  4. ROW_NUMBER()와 RANK()의 차이 (동순위 처리) 꼭 숙지
  5. 실습으로 직접 결과 행 수 확인해보는 연습 추천

집계 함수와 윈도우 함수는 SQLP에서 자주 나오는 핵심 테마입니다. 개념만 이해하면 문제 유형이 반복되므로, 다양한 예제와 기출문제를 통해 연습하면 충분히 고득점을 노릴 수 있습니다.

공식 참고 자료

  • 한국데이터산업진흥원 SQLP 공식 교재
  • ANSI SQL 표준 문서 (ISO/IEC 9075)
728x90
반응형

'자격증 > SQLP' 카테고리의 다른 글

SQL 조인과 서브쿼리 완전 정복: 실무에서 자주 쓰는 패턴 정리  (0) 2025.06.17
SQL 기본문 총정리: 초보자를 위한 SELECT부터 INSERT까지 핵심 문법 안내  (0) 2025.06.17
설계 품질 평가: 데이터베이스 설계의 우수성 평가 방법  (0) 2025.06.16
물리적 설계: 데이터베이스 구현을 위한 최적화 단계  (0) 2025.06.16
논리적 설계: 데이터베이스 설계에서의 핵심 단계와 중요성  (2) 2025.06.16
개념적 설계란? 데이터베이스 설계에서의 중요성과 단계  (0) 2025.06.16
데이터 모델링 개요: MySQL에서 효율적인 데이터 모델링의 기초  (0) 2025.06.16
    '자격증/SQLP' 카테고리의 다른 글
    • SQL 조인과 서브쿼리 완전 정복: 실무에서 자주 쓰는 패턴 정리
    • SQL 기본문 총정리: 초보자를 위한 SELECT부터 INSERT까지 핵심 문법 안내
    • 설계 품질 평가: 데이터베이스 설계의 우수성 평가 방법
    • 물리적 설계: 데이터베이스 구현을 위한 최적화 단계
    Ant_U
    Ant_U

    티스토리툴바