SQL 코딩 테스트 벼락치기 - 코딩테스트 시리즈 1편

SQL 코딩 테스트 벼락치기 - 코딩테스트 시리즈 1편

SQL 코딩 테스트 완전 정복 시리즈

📌 1편: SQL 코딩 테스트 벼락치기 (현재 글)
📖 2편: SQL 기본 문법 실전 가이드
🚀 3편: SQL 코딩테스트 실전 문제 풀이

SQL 코딩 테스트?

데이터 분석 직무의 코딩테스트에서는 알고리즘 대신 SQL을 다룹니다. 알고리즘 코딩테스트만 준비해온 저에게는 생소한 영역이었습니다.
면접이 얼마 남지 않은 상황에서 급하게 준비했던 경험을 바탕으로, 같은 상황에 있는 분들께 도움이 되고자 정리해봅니다.


어디서 연습할까?

1. SolveSQL

  • 한국어 지원
  • 데이터 분석 직무에 특화된 문제
  • 단계별 난이도 제공
  • SolveSQL 방문하기

2. 프로그래머스 SQL 고득점 Kit

  • 한국 기업 출제 경향 반영
  • SELECT, JOIN, GROUP BY 등 주제별 분류
  • 실제 코딩테스트와 유사한 문제
  • 프로그래머스 방문하기

3. HackerRank


어디까지 공부해야 할까?

이제 고민이 되는 건 ‘이걸 어디까지 공부해야 하나’일거예요. Business Analyst, Data Analyst 직무에서 SQL 코딩테스트를 요구하는데요. 수준이 어느정도인지 알 수 있을까요? 어느 정도 수준까지 문제를 풀어야 SQL 코딩테스트를 합격할 수 있을까요?

데이터 분석가 vs 백엔드 개발자
SQL이라는 언어가 데이터베이스를 조작하는 언어이기 때문에 사실 데이터 분석가에게만 필요한 언어가 아니고 백엔드 개발자도 공부를 합니다. 보통 INSERT, UPDATE, DELETE 같이 새로운 데이터를 만들거나 업데이트하거나 삭제하는 부분이 백엔드 개발자가 사용하는 파트이죠. 저 또한 이 영역을 가장 많이 사용해왔습니다. 하지만 데이터 분석가라면 이미 있는 데이터를 추출하는 파트에 대해 집중해야 합니다.
데이터 분석가가 집중해야 할 영역
  • 데이터 조회 (SELECT) - 가장 중요!
  • JOIN - 테이블 연결
  • GROUP BY - 집계 분석
  • 윈도우 함수 - 고급 분석
굳이 안 해도 되는 영역
  • INSERT, UPDATE, DELETE (데이터 조작)
  • 데이터베이스 설계
  • 인덱스 최적화

핵심 문법 범위

입문 단계 (필수)
-- 기본 조회
SELECT, WHERE, ORDER BY, LIMIT

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

-- 그룹화
GROUP BY, HAVING

-- 조건문
CASE WHEN, IF, COALESCE
실전 단계 (중요)
-- 테이블 조인
INNER JOIN, LEFT JOIN, RIGHT JOIN

-- 서브쿼리
WHERE절 서브쿼리, FROM절 서브쿼리

-- 문자열/날짜 함수
SUBSTRING, CONCAT, DATE_FORMAT
심화 단계 (차별화)
-- 윈도우 함수 (최근 출제 빈도 ↑)
ROW_NUMBER(), RANK(), LAG(), LEAD()
SUM() OVER(), COUNT() OVER()

-- 고급 집계
WITH절 (CTE), PIVOT

출제 경향

반드시 알아야 할 것
  • SELECT, FROM, WHERE, ORDER BY - 기본 중의 기본
  • GROUP BY, HAVING - 집계 분석의 핵심
  • CASE, IF() - 조건 처리
  • JOIN - INNER, LEFT, RIGHT 모두 중요
최근 트렌드
  • 윈도우 함수 문제 증가 (ROW_NUMBER, RANK 등)
  • 서브쿼리 활용 필수 (WITH절 포함)
  • 복합 JOIN 문제 자주 출제
  • UNION vs UNION ALL 차이점 문제

마무리

추후 실제로 연습했던 SQL 문제풀이를 업로드 해보겠습니다. SQL은 암기보다는 이해가 중요합니다. 문법을 외우기보다는 “이 데이터에서 무엇을 뽑아낼까?”라는 관점으로 접근해보세요. 핵심은 꾸준한 연습입니다. 하루에 2-3문제씩이라도 계속 풀다 보면 어느새 익숙해집니다. 여러분의 면접 준비 응원합니다! 🚀

댓글을 불러오는 중...