본문 바로가기
카테고리 없음

회사에서 진짜로 자주 쓰는 SQL 기능 3가지

by 분석가 슬기 2025. 3. 30.

데이터 분석이나 데이터 기반 의사결정이 필수가 된 시대입니다.
하지만 현실에서의 SQL은 이론서에 나오는 모든 기능을 활용하기보다는, 자주 사용하는 실전 기능 몇 가지를 효율적으로 다루는 것이 더 중요합니다.
특히 회사에서는 속도, 효율, 협업이 중요하기 때문에 “잘 쓰이는 기능”과 “있으면 좋은 기능”은 분명히 다릅니다.

이 글에서는 제가 외국계 데이터 분석 직무에서 실제로 가장 자주 쓰고, 실무에 즉각 활용 가능한 SQL 기능 3가지를 정리해보았습니다.


1. CASE WHEN: 조건 분기를 위한 실무 최애 구문

CASE WHEN은 조건에 따라 새로운 컬럼을 생성하거나 그룹을 나눌 때 가장 많이 쓰는 구문입니다.
기초 SQL 문법에선 간과되지만, 실무에서는 거의 모든 분석 리포트에 등장합니다.

✔️ 사용 예시

SELECT 
  user_id,
  purchase_amount,
  CASE 
    WHEN purchase_amount >= 100000 THEN 'VIP'
    WHEN purchase_amount >= 50000 THEN 'Regular'
    ELSE 'General'
  END AS user_grade
FROM users;

💡 실무에서 이렇게 활용합니다:

  • 구매 금액에 따른 유저 등급 분류
  • 회원 가입 경로에 따라 유입 채널 분류
  • 반응률이 낮은 고객군을 “이탈 예상”으로 분류
  • 날짜 조건에 따라 주간/월간 그룹핑 등

CASE WHEN 구문이 익숙해지면 데이터 전처리, 대시보드 분류, KPI 세그먼트 구성 등 거의 모든 실무 분석에 활용할 수 있습니다.


2. ROW_NUMBER() 윈도우 함수: 랭킹과 필터를 한번에

윈도우 함수 중에서도 ROW_NUMBER()는 실무에서 가장 유용한 함수 중 하나입니다.
행별로 순위를 매기거나, 특정 조건에서 최상위 값만 추출하고 싶을 때 쓰입니다.

✔️ 사용 예시

SELECT *
FROM (
  SELECT *,
    ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY purchase_date DESC) AS rn
  FROM purchases
) sub
WHERE rn = 1;

💡 실무에서 이렇게 활용합니다:

  • 유저별 가장 최근 구매 추출
  • 카테고리별 판매순위 1위 상품
  • 부서별 최근 로그인한 직원 정보
  • 광고 채널별 최초 유입 경로 추출

특히 중복 제거, 최신 데이터 필터링 등에 자주 사용되며, ROW_NUMBER()를 제대로 다루는 것만으로도 분석 정확도가 크게 향상됩니다.


3. DATE_TRUNC() & 날짜 함수 조합: 시간 단위 정리의 핵심

날짜 관련 분석이 없는 SQL은 거의 없습니다.
특히 마케팅, 매출, 트래픽 분석처럼 시간 흐름이 중요한 분석에서는 DATE_TRUNC()와 날짜 계산 함수들이 핵심 도구입니다.

✔️ 사용 예시

SELECT 
  DATE_TRUNC('week', created_at) AS week_start,
  COUNT(*) AS signups
FROM users
GROUP BY 1
ORDER BY 1;

💡 실무에서 이렇게 활용합니다:

  • 주별/월별 신규 가입자 수 추이
  • 일자 기준 KPI 추이 분석
  • 시간대별 클릭수, 유입률 분석
  • 캠페인 시작일부터 30일 간의 이탈률 추이 계산

DATE_TRUNC() 외에도 DATE_ADD, DATEDIFF, CURRENT_DATE, NOW() 같은 기본 날짜 함수들을 적절히 조합하면, 시간 축을 기준으로 한 다양한 분석이 가능합니다.


✅ 실무에서는 “익숙하게 자주 쓰는 기능”이 먼저입니다

지금까지 정리한 3가지 SQL 기능은 다음과 같습니다:

기능주요 목적활용 빈도
CASE WHEN 조건에 따른 그룹핑/분류 매우 자주 사용
ROW_NUMBER() 순위, 최신값 필터링 매우 자주 사용
DATE_TRUNC() 외 날짜 함수 기간별 집계, 시간 축 분석 매우 자주 사용

SQL은 기능이 많지만, 실무에서는 간결하고 빠르게 결과를 도출하는 것이 핵심입니다.
오늘 소개한 3가지 기능을 잘 다루기만 해도 대부분의 데이터 분석 업무를 충분히 커버할 수 있습니다.