본문 바로가기
Data Science/SQL

C사 Business Analyst SQL 쿼리테스트 학습 목표

by 에르모사 쩐뉴 2026. 2. 4.

 

1. 예상 난이도: 중상 (Intermediate ~ Advanced)

쿠팡의 SQL 테스트는 보통 HackerRankCodility 같은 플랫폼을 사용하며, 3~5문제 내외로 출제됩니다.

  • 구문 난이도: SQLD 수준의 기본 문법은 당연히 마스터해야 하며, 실무적인 Window Function 활용 능력이 합격의 당락을 결정합니다.
  • 비즈니스 복잡도: 직무 특성상 '재고', '매출', '결제' 데이터를 다룹니다. 테이블 3~4개를 JOIN 해서 특정 조건(예: 취소분을 제외한 순매출 등)을 계산해야 하므로 머릿속으로 로직을 잘 설계해야 합니다.

2. Accounting BA 직무 특화 집중 포인트

공고에 언급된 'P&L(손익)', 'SOX Compliance(내부통제)', '데이터 완전성' 키워드에 주목해야 합니다.

① 데이터 정합성 체크 (Data Integrity)

회계 분석가는 데이터가 비지 않았는지(Null), 중복되지 않았는지 확인하는 것이 생명입니다.

  • 연습할 것: LEFT JOIN 시 오른쪽 테이블에 데이터가 없는 경우 처리, DISTINCT를 활용한 중복 제거, UNION ALLUNION의 차이.

② 기간별 추세 및 누적 분석 (Time Series)

주간/월간/분기별 검토 업무가 많으므로 시간 데이터 핸들링이 필수입니다.

  • 연습할 것: DATE_FORMAT, LAST_DAY, DATEDIFF 함수.
  • Window Function: 전월 대비 성장률(MoM)을 구하기 위한 LAG(), LEAD(), 기간 내 누적 합계를 구하는 SUM(column) OVER (ORDER BY date).

③ 조건별 지표 산출 (Case Logic)

재무 지표는 상황에 따라 계산법이 다릅니다. (예: 반품된 상품은 매출에서 제외, 특정 프로모션 기간의 할인액 별도 계산 등)

  • 연습할 것: 복잡한 CASE WHEN 구문 활용 능력.

3. 이 직무에서 반드시 나올 법한 유형 (예시)

유형 핵심 기술 비즈니스 상황 예시
순매출 계산 JOIN, CASE WHEN 주문 테이블과 취소 테이블을 결합해 실질 매출 계산
Top N 분석 RANK(), ROW_NUMBER() 각 카테고리별로 이번 달 매출이 가장 높은 상품 3개 추출
재고 회전율 Aggregate Functions 창고별 입고일과 출고일 차이를 계산하여 평균 재고 기간 산출
비정상 데이터 감지 HAVING, Subquery 같은 주문번호인데 결제 금액이 여러 개인 '중복 오류' 데이터 찾기

4. 단기 합격 전략 

  1. Window Function에 올인하세요: SQLD 때 이론으로만 배웠던 RANK, LEAD, LAG를 실제 쿼리로 최소 10번씩 짜보세요. 쿠팡 분석가 테스트의 단골 손님입니다.
  2. 프로그래머스 '식품창고', '우유와 요거트' 시리즈: Accounting 직무와 유사한 재고/매출 상황의 문제들이 많습니다. Lv.3~4를 중점적으로 보세요.
  3. 가독성 있는 코드: WITH 구문(CTE)을 사용해 쿼리를 단계별로 쪼개서 작성하는 연습을 하세요. "논리적 접근 방식"을 중요하게 생각하는 팀이므로, 코드가 깔끔하면 훨씬 유리합니다.

 

 

🕒 3일 벼락치기  커리큘럼

[1일 차] 서랍 열기: 기본 문법 & JOIN (4시간)

자격증 공부할 때 보셨던 두꺼운 책은 버리세요. 바로 실전 코드로 들어갑니다.

  • 복구 포인트: INNER, LEFT JOIN 차이점 명확히 하기, GROUP BY와 HAVING의 차이.
  • 실전 연습: [프로그래머스 SQL Kit]에서 Lv 1~2를 다 푸세요. 약 20~30문제인데, 한 문제당 5분 컷 목표로 속도를 올리세요.
  • 이걸 왜 하나요? JOIN에서 버벅거리면 뒤에 나오는 심화 문제를 손도 못 댑니다.

[2일 차] 무기 장착: Window Function & CASE (5시간)

쿠팡 테스트에서 가장 배점이 높고 실무적인 부분입니다.

  • 복구 포인트: * ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...) (중복 제거, 순위 매기기)
    • CASE WHEN (회계상 특정 조건에 따른 가산/차감 로직 구현)
    • DATE_FORMAT, DATEDIFF (날짜 계산)
  • 실전 연습: 프로그래머스 Lv 3 위주로 풀면서, 특히 '카테고리별 매출', '재구매' 관련 문제를 집중 공략하세요.

[3일 차] 실전 감각: 엣지 케이스 & 모의 테스트 (4시간)

회계 데이터는 1원이라도 틀리면 안 됩니다. '정답'만 맞추는 게 아니라 '예외'를 처리하는 연습을 하세요.

  • 복구 포인트: * COALESCE(column, 0): 데이터가 없으면 0으로 처리해서 계산 오류 방지.
    • WITH 절 (CTE): 쿼리가 길어질 때 가독성 높이기 (면접관이 점수를 크게 주는 포인트).
  • 실전 연습: HackerRank의 Database 섹션에서 'Medium' 난이도를 딱 5개만 풀어보세요. 영어 지문에 익숙해지는 것도 중요합니다.

💡 합격 가능성을 높이는 "BA 마인드" 팁

쿠팡 채용 담당자는 단순히 코딩 실력만 보지 않습니다. 회계 BA라면 쿼리를 짤 때 아래 두 가지를 주석으로라도 남기세요.

  1. "데이터 정합성 확인": "주문 테이블과 결제 테이블을 LEFT JOIN 하여 결제 정보가 없는 주문 건(누락)이 있는지 확인했습니다."
  2. "성능 고려": "데이터 양이 많으므로 날짜 컬럼에 인덱스가 있다고 가정하고 기간 필터를 먼저 적용했습니다."

⏰ 3일 집중 투자 시간표

 

 

구분 소요 시간 핵심 활동
1일 차: 문법 복구 4~5시간 프로그래머스 Lv.1~2 (약 20~30문제) 미친 듯이 풀기
2일 차: 고득점 공략 5~6시간 Lv.3~4 중심. Window FunctionCASE 문법에 올인
3일 차: 실전 마무리 3~4시간 HackerRank Medium 5문제 + 날짜/NULL 처리 예외 케이스 점검

 

 

암기 하면 좋을 쿼리들 

 

1. 코호트 분석 및 리텐션 (Self Join)

쿠팡과 같은 이커머스에서 가장 중요한 지표는 '재구매율'입니다. 특정 시점에 가입한 유저가 이후에도 활동하는지 파악하는 쿼리 구조를 외워두세요.


2. 순위와 이동 평균 (Window Functions)

매출 순위 TOP N을 뽑거나, 최근 7일간의 이동 평균 매출을 구할 때 사용합니다. OVER절의 구조는 무조건 암기하세요.

  • 순위 매기기: RANK(), DENSE_RANK(), ROW_NUMBER()의 차이점 숙지
  • 이동 평균/합계 (Running Total):

3. 누락된 날짜/시간 채우기 (WITH RECURSIVE)

쿠팡은 24시간 배송과 운영이 중요하므로, **"주문이 없는 시간대도 포함하여 0으로 표시하라"**는 문제가 자주 나옵니다. 0부터 23까지의 숫자를 생성하는 이 틀은 그냥 외우는 게 답입니다.


4. 복잡한 문자열 처리 및 정규식 (REGEXP)

앞서 풀어본 이메일 유효성 검사처럼, 특정 패턴을 가진 상품 코드나 아이디를 필터링하는 능력을 봅니다.

  • 암기 포인트: ^(시작), $(끝), [0-9](숫자), [a-z](소문자) 등 기본 기호의 조합

☘️ 시험을 앞둔 사용자님께 드리는 응원

대기업 쿼리테스트는 문제 자체가 아주 꼬여있다기보다, "현업에서 발생할 법한 상황"을 SQL로 얼마나 정확하게 구현하느냐를 봅니다.