이 글에서 꼭 잡아야 할 것
집계 함수는 여러 행을 하나의 요약값으로 압축한다. 개수, 합계, 평균, 최솟값, 최댓값을 정확히 다루면 데이터 요약 문제를 빠르게 풀 수 있다.
집계 함수는 데이터를 전체 관점에서 바라보게 해 준다. 개별 행을 보는 단계에서 한 걸음 올라가 전체 규모, 평균 수준, 최소값과 최대값을 읽는 훈련을 하면 비즈니스 숫자를 훨씬 빠르게 파악할 수 있다.
개념 지도와 이해 포인트
대표 문법 패턴
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개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.
숫자 함수: ROUND, TRUNC, MOD, CEIL, FLOOR
숫자 함수는 계산 결과를 비즈니스 규칙에 맞게 다듬는 도구다. 반올림, 버림, 나머지 계산 같은 기본 기능만 정확히 익혀도 보고서와 통계형 SQL 품질이 높아진다.
날짜 함수: SYSDATE, ADD_MONTHS, MONTHS_BETWEEN
날짜는 SQL에서 가장 자주 틀리는 데이터 타입 중 하나다. 오라클은 날짜 전용 함수가 풍부하기 때문에, 형 변환 대신 전용 함수를 정확히 쓰는 습관이 매우 중요하다.
형 변환 함수와 일반 함수: TO_CHAR, TO_DATE, CASE
데이터 타입을 맞추는 일은 SQL 정확도의 기본이다. 오라클에서는 TO_CHAR, TO_DATE, TO_NUMBER 같은 명시적 변환 함수와 CASE 같은 일반 함수가 함께 자주 쓰인다.
GROUP BY와 HAVING으로 그룹별 집계하기
집계 함수의 진짜 힘은 그룹 단위 요약에서 드러난다. GROUP BY는 데이터를 기준별로 묶고, HAVING은 집계 결과를 다시 필터링한다.
조인의 출발점: ANSI INNER JOIN
관계형 데이터베이스의 핵심은 테이블을 연결해 의미를 복원하는 데 있다. INNER JOIN은 가장 기본적인 조인으로, 서로 매칭되는 데이터만 결합한다.
댓글을 불러오는 중입니다.