분석가를 위한 SQL 과정: 빠르게 선택하고 배우고 적용하기

발행: (2026년 4월 28일 AM 09:02 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

분석가‑중심 SQL vs. 백엔드‑엔지니어링 SQL

  • 분석가 SQL: 지저분한 데이터를 읽고, 신뢰할 수 있는 지표를 만들며, 다른 사람이 재현하고 감사할 수 있는 결과를 전달한다.
  • 백엔드 SQL: 완벽한 스키마 설계, 인덱스 튜닝, 저장 프로시저 작성 등을 담당한다. 이는 분석가가 처음 시작할 때는 낮은 우선순위이다.

시작 단계에서 낮출 수 있는 항목

  • 깊은 정규화 이론
  • 저장 프로시저와 UDF(필요한 경우가 아니면)
  • 고급 성능 튜닝(나중에 학습)

코스가 실제 쿼리 50개도 작성하기 전에 데이터베이스 내부 구조에 몇 주를 할애한다면, 분석가에게 최적화된 코스가 아닐 가능성이 높다.

직무‑관련 학습 경로 (플랫폼에 관계없이)

1주차 – 쿼리 기본

  • SELECT, WHERE, ORDER BY, LIMIT
  • 버킷팅을 위한 CASE WHEN
  • 기본 집계: COUNT, SUM, AVG, MIN/MAX

2주차 – 조인 & 데이터 형태

  • INNER, LEFT, 그리고 FULL OUTER가 필요할 때
  • DISTINCTROW_NUMBER()를 활용한 중복 제거
  • 메트릭을 부풀리지 않으면서 다대다 조인 처리

3주차 – 분석 패턴

  • 윈도우 함수: ROW_NUMBER, LAG/LEAD, 누적 합계
  • 코호트와 유지율(가입 주/월 기준)
  • 퍼널 쿼리(단계 완료)

4주차 – 신뢰성 & 전달

  • 쿼리 가독성: CTE, 명명 규칙, 일관된 포맷팅
  • 정상성 검사와 조정
  • 결과를 BI 도구 / 노트북으로 내보내기

주관적 의견: 윈도우 함수는 “쿼리를 할 수 있다”와 “분석을 할 수 있다”를 구분하는 경계선이다. 윈도우 함수를 다루지 않는 분석가‑중심 코스는 여러분을 충분히 강력하게 만들지 못한다.

유지율 분석 – 재사용 가능한 패턴

-- PostgreSQL syntax
WITH cohorts AS (
  SELECT
    user_id,
    DATE_TRUNC('month', created_at) AS cohort_month
  FROM users
),
activity AS (
  SELECT
    e.user_id,
    DATE_TRUNC('month', e.event_at) AS activity_month
  FROM events e
  GROUP BY 1, 2
),
cohort_activity AS (
  SELECT
    c.cohort_month,
    a.activity_month,
    COUNT(DISTINCT c.user_id) AS active_users
  FROM cohorts c
  JOIN activity a
    ON a.user_id = c.user_id
   AND a.activity_month >= c.cohort_month
  GROUP BY 1, 2
),
cohort_size AS (
  SELECT
    cohort_month,
    COUNT(*) AS cohort_users
  FROM cohorts
  GROUP BY 1
)
SELECT
  ca.cohort_month,
  ca.activity_month,
  ca.active_users,
  cs.cohort_users,
  ROUND(1.0 * ca.active_users / cs.cohort_users, 4) AS retention_rate
FROM cohort_activity ca
JOIN cohort_size cs USING (cohort_month)
ORDER BY 1, 2;

왜 중요한가

  • 가독성: CTE를 사용해 로직을 논리적인 단계로 나눈다.
  • 정확성: COUNT(DISTINCT …)로 중복 계산을 방지한다.
  • 유연성: 주간 코호트나 다른 “활동” 정의에도 쉽게 적용할 수 있다.

몇 주 안에 이 수준의 쿼리를 작성하도록 도와주지 못한다면, 그 코스는 분석가‑우선이 아니다.

올바른 코스 선택 – 체크리스트

  • 실제 데이터셋을 사용하나요?
  • 초기에 윈도우 함수CTE를 가르치나요?
  • 연습문제가 채점되고 반복 가능한가요?
  • 다이얼렉트(Postgres, BigQuery, MySQL 등)를 명확히 설명하나요?
  • 여러분이 가진 시간 안에 완료할 수 있나요?

플랫폼 추천

  • DataCamp – 짧고 인터랙티브한 연습을 통해 근육 기억을 빠르게 키우기에 강점이 있다.
  • Udemy – 더 넓은 카탈로그가 필요하고 특정 도구(Postgres, BigQuery, SQL Server 등)에 맞추고 싶을 때 좋다. 강사 품질과 리뷰를 꼼꼼히 확인하라.
  • Coursera – 장기간, 인증 중심의 코스를 선호하고 체계적인 진행을 원하는 학습자에게 적합하다.

핵심 요약: 하나의 플랫폼을 정하고, 단일 트랙을 끝까지 수강한 뒤, 자신이 관심 있는 데이터셋(업무 데이터, 공개 데이터, 사이드 프로젝트 등)에 바로 적용하라. “적용” 단계가 코스를 실제 분석가의 레버리지로 바꾼다.

0 조회
Back to Blog

관련 글

더 보기 »