오라클 SQL · 함수와 집계

집계 함수: COUNT, SUM, AVG, MIN, MAX

집계 함수는 여러 행을 하나의 요약값으로 압축한다. 개수, 합계, 평균, 최솟값, 최댓값을 정확히 다루면 데이터 요약 문제를 빠르게 풀 수 있다.

집계 함수: COUNT, SUM, AVG, MIN, MAX 대표 이미지

이 글에서 꼭 잡아야 할 것

집계 함수는 여러 행을 하나의 요약값으로 압축한다. 개수, 합계, 평균, 최솟값, 최댓값을 정확히 다루면 데이터 요약 문제를 빠르게 풀 수 있다.

집계 함수는 데이터를 전체 관점에서 바라보게 해 준다. 개별 행을 보는 단계에서 한 걸음 올라가 전체 규모, 평균 수준, 최소값과 최대값을 읽는 훈련을 하면 비즈니스 숫자를 훨씬 빠르게 파악할 수 있다.

난이도 초급
모듈 함수와 집계
학습 시간 9분
핵심 키워드 COUNT, SUM, AVG

개념 지도와 이해 포인트

다중 행을 단일 값으로 집계 함수는 여러 행을 읽어 하나의 결과를 만든다. 이때 일반 컬럼을 함께 쓰려면 GROUP BY가 필요하다는 점이 다음 학습으로 연결된다.
COUNT 차이 `COUNT(*)`는 행 수 전체를 세고, `COUNT(column)`은 NULL이 아닌 값만 센다. 시험에서 자주 등장하는 기본 비교 포인트다.
NULL 제외 특성 대부분의 집계 함수는 NULL을 자동 제외한다. 따라서 원데이터에 NULL이 있는지 여부가 결과 해석에 직접 영향을 준다.
집계 함수: COUNT, SUM, AVG, MIN, MAX 개념 다이어그램

대표 문법 패턴

SELECT COUNT(*) AS employee_count,
       AVG(salary) AS avg_salary,
       MAX(salary) AS max_salary
FROM employees;

SELECT COUNT(commission_pct) AS commission_exists
FROM employees;

문법 읽는 포인트

  • `COUNT(*)`와 `COUNT(column)`의 차이는 NULL 포함 여부다.
  • `AVG`는 내부적으로 합계와 개수를 이용하므로 NULL 제외 영향을 받는다.
  • 집계 함수 결과만 조회하면 GROUP BY 없이도 전체 요약이 가능하다.

핵심 용어

  • COUNT
  • SUM
  • AVG

부서 배정 여부와 보너스 현황 요약하기

같은 테이블이라도 어떤 컬럼을 기준으로 COUNT하느냐에 따라 해석이 달라진다. NULL이 많은 컬럼일수록 `COUNT(*)`와 `COUNT(column)` 차이가 커진다.

SELECT COUNT(*) AS total_rows,
       COUNT(department_id) AS has_department,
       COUNT(commission_pct) AS has_commission,
       AVG(salary) AS avg_salary
FROM employees;

수험 체크포인트와 자주 하는 실수

시험 체크포인트

  • 집계 함수와 일반 컬럼을 섞을 때는 GROUP BY 여부를 가장 먼저 점검하자.
  • COUNT는 시험에서 NULL과 함께 자주 출제되므로 꼭 구분해야 한다.
  • SUM, AVG는 숫자 컬럼과 함께 쓰는 기본 패턴을 익혀 두자.

자주 하는 실수

  • `COUNT(column)`이 전체 행 수를 센다고 생각하는 실수
  • NULL이 자동 제외된다는 사실을 놓쳐 평균 해석을 틀리는 실수
  • 집계 함수와 일반 컬럼을 아무 생각 없이 함께 쓰는 실수

연결 학습

전체 요약이 익숙해졌다면 이제 그룹별 요약으로 확장할 수 있다. 다음 챕터에서는 GROUP BY와 HAVING을 통해 집계 범위를 나눈다.

댓글 0

작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.

일반 댓글 작성

댓글을 불러오는 중입니다.

같은 카테고리에서 이어서 읽기

지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.