이 글은 2026년 6월 12일 기준 Microsoft Excel 사양, PostgreSQL 공식 문서, SQLite 공식 문서를 확인하고, 엑셀 실무자가 SQL로 넘어갈 때 자주 막히는 지점을 중심으로 정리했습니다. 특정 강의, 플랫폼, 채용 서비스를 추천하지 않습니다. SQL 문법은 DBMS마다 일부 차이가 있으므로 회사에서 쓰는 PostgreSQL, MySQL, SQL Server, BigQuery 등의 문법을 함께 확인하세요.
엑셀 SQL 전환은 엑셀을 버리는 일이 아닙니다. 이미 하던 필터, 정렬, VLOOKUP, SUMIF, 피벗테이블 작업을 더 큰 데이터와 반복 가능한 쿼리로 옮기는 일에 가깝습니다.
엑셀을 잘 쓰는 사람이 SQL에서 막히는 지점은 문법보다 테이블 단위 사고입니다. 셀 하나를 고치는 감각에서 벗어나, 여러 행과 여러 테이블을 조건으로 묶어 결과표를 만드는 감각이 필요합니다.
30일 플랜은 W1 SELECT·WHERE, W2 JOIN, W3 GROUP BY·CASE, W4 CTE·윈도우 함수와 실무 케이스 순서로 가면 됩니다. 목표는 SQL 전문가가 아니라, 실무 보고서용 쿼리를 읽고 고치고 재사용하는 수준입니다.
가장 중요한 전환은 VLOOKUP → JOIN, SUMIF → GROUP BY, IF → CASE WHEN입니다. 이 세 개만 제대로 연결해도 엑셀 사용자에게 SQL은 훨씬 덜 낯설어집니다.
1. 엑셀을 잘하면 SQL 입문이 더 빠릅니다
엑셀 실무자는 이미 데이터를 다뤄본 사람입니다. 필터로 조건을 걸고, 정렬로 우선순위를 보고, VLOOKUP으로 다른 표를 붙이고, 피벗테이블로 집계표를 만듭니다. SQL은 이 작업을 셀 클릭이 아니라 문장으로 적는 방식입니다.
다만 엑셀과 SQL의 생각 방식은 다릅니다. 엑셀은 눈앞의 셀과 범위를 직접 만지는 느낌이 강하고, SQL은 테이블 전체에서 조건에 맞는 행을 가져오고, 테이블끼리 연결하고, 그룹별로 집계합니다. 그래서 처음에는 문법보다 “지금 내가 어떤 결과표를 만들고 싶은가”를 먼저 그려야 합니다.
| 엑셀식 사고 | SQL식 사고 | 전환 포인트 |
|---|---|---|
| 셀과 범위를 직접 선택 | 테이블에서 조건에 맞는 행을 선택 | 필터는 WHERE |
| VLOOKUP으로 한 표에 값 붙이기 | JOIN으로 테이블 연결 | 키 컬럼과 중복 여부 확인 |
| SUMIF, COUNTIF로 조건 집계 | GROUP BY와 집계함수로 묶기 | 그룹 기준을 먼저 정하기 |
| 피벗테이블로 요약표 만들기 | GROUP BY, CASE WHEN, 윈도우 함수 | 반복 가능한 쿼리로 저장 |
2. 엑셀의 한계는 행 수보다 재현성에서 먼저 옵니다
Microsoft 공식 사양 기준 Excel 워크시트는 1,048,576행과 16,384열까지 지원합니다. 행 수 제한 자체도 분명한 한계지만, 실무에서는 그보다 먼저 “지난달에 만든 보고서를 같은 방식으로 다시 만들 수 있는가”에서 문제가 생깁니다.
엑셀 파일을 열고, 필터를 걸고, 붙여넣고, 피벗을 새로 고치고, 중간 계산열을 추가하는 과정은 사람 손을 많이 탑니다. SQL은 이 절차를 쿼리로 남기기 때문에 같은 조건의 보고서를 다시 만들기 쉽습니다. 실무에서 SQL이 강한 이유는 속도뿐 아니라 재현성입니다.

3. 엑셀 SQL 전환 30일 로드맵
| 구간 | 학습 주제 | 엑셀 대응 | 목표 |
|---|---|---|---|
| Day 1~7 | SELECT, WHERE, ORDER BY, LIMIT, NULL | 필터, 정렬, 빈칸 처리 | 원하는 행과 열을 가져오기 |
| Day 8~14 | INNER JOIN, LEFT JOIN, 다중 JOIN | VLOOKUP, INDEX/MATCH | 두 테이블을 안전하게 연결하기 |
| Day 15~21 | GROUP BY, HAVING, CASE WHEN | SUMIF, COUNTIF, 피벗테이블 | 그룹별 지표 만들기 |
| Day 22~27 | CTE, ROW_NUMBER, RANK, LAG | 보조열, 순위, 전월 대비 | 실무 분석 쿼리 읽기 |
| Day 28~30 | 미니 프로젝트 | 월간 보고서 재현 | 포트폴리오 1건 정리 |
하루 1시간이라면 새 문법 30분, 전날 쿼리 다시 고치기 20분, 에러노트 10분으로 나누세요. SQL은 강의만 보면 쉬워 보이지만, 직접 실행하면 작은 쉼표와 NULL 처리에서 막힙니다. 에러를 기록하는 시간이 오히려 가장 빨리 늘게 합니다.

4. 엑셀 기능은 이렇게 SQL로 옮깁니다
| 엑셀에서 하던 일 | SQL에서 쓰는 문법 | 실무 해석 |
|---|---|---|
| VLOOKUP | LEFT JOIN … ON | 다른 표에서 키가 맞는 값을 붙입니다. |
| SUMIF / SUMIFS | SUM() + GROUP BY + WHERE | 조건별 합계를 만듭니다. |
| COUNTIF | COUNT(*) + WHERE | 조건에 맞는 행 수를 셉니다. |
| IF / IFS | CASE WHEN … THEN | 조건에 따라 분류값을 만듭니다. |
| 필터 | WHERE | 필요한 행만 남깁니다. |
| 정렬 | ORDER BY | 오름차순·내림차순으로 결과를 정렬합니다. |
| 중복 제거 | SELECT DISTINCT | 고유값 목록을 만듭니다. |
| 피벗테이블 | GROUP BY + 집계함수 | 그룹별 요약표를 만듭니다. |
| RANK | RANK() OVER | 그룹 안에서 순위를 구합니다. |
| 전월 대비 | LAG() OVER | 이전 행의 값을 가져와 비교합니다. |
5. 실무 쿼리 5개만 먼저 만듭니다
- 월별 매출 요약: 월, 채널, 카테고리별 매출 합계와 주문 수
- 상품별 재고 회전: 최근 30일 판매량과 현재 재고 비교
- 고객 RFM: 최근 구매일, 구매 횟수, 구매 금액으로 고객 분류
- 퍼널 전환율: 노출, 클릭, 장바구니, 구매 단계별 비율
- 전월 대비 지표: LAG로 지난달 매출과 현재 매출 비교
처음부터 모든 SQL 문법을 다 보려 하지 마세요. 실무에서는 “이 보고서를 매주 자동으로 다시 만들 수 있나”가 더 중요합니다. 위 5개 중 하나를 골라 실제 CSV나 공공데이터로 끝까지 만들어보는 편이 낫습니다.
6. 초보자가 가장 많이 틀리는 SQL 함정
- JOIN 후 행 수가 늘어납니다. 연결 키가 1:1인지 1:N인지 확인하지 않으면 매출이 두 배로 부풀 수 있습니다.
- NULL을 = NULL로 비교합니다. SQL에서는 보통 IS NULL, IS NOT NULL을 써야 합니다.
- GROUP BY 기준이 흐립니다. 무엇을 기준으로 묶을지 정하지 않으면 집계 결과가 흔들립니다.
- ORDER BY 없는 결과를 순서가 있다고 믿습니다. 정렬이 필요하면 명시적으로 ORDER BY를 써야 합니다.
- DBMS 차이를 무시합니다. LIMIT, TOP, 날짜 함수, 문자열 함수는 PostgreSQL, MySQL, SQL Server, BigQuery마다 다를 수 있습니다.
7. 학습 자료는 무료부터 시작해도 충분합니다
여기서는 특정 강의를 추천하지 않습니다. 처음 2주는 무료 실습 사이트와 공개 문서만으로도 충분합니다. 중요한 건 예쁜 강의를 많이 보는 것이 아니라, 매일 쿼리를 실행하고 에러를 고치는 것입니다.
| 단계 | 자료 유형 | 활용법 |
|---|---|---|
| 입문 | 무료 SQL 실습 사이트 | SELECT, WHERE, JOIN을 손으로 반복 |
| 문법 확인 | PostgreSQL, SQLite 공식 문서 | GROUP BY, JOIN, 윈도우 함수 개념 확인 |
| 실무 적용 | 공공데이터 CSV, 회사 샘플 데이터 | 엑셀 보고서 1개를 SQL로 재현 |
| 막힐 때 | 공식 문서, 커뮤니티 질문, 사내 멘토 | JOIN, 윈도우 함수처럼 막히는 구간만 보완 |
8. 다음 단계는 SQLD가 아니라도 됩니다
SQL을 배우면 바로 자격증을 따야 한다고 생각하기 쉽습니다. 하지만 실무 전환이 목적이면 먼저 쿼리 포트폴리오 1개를 만드는 편이 더 빠릅니다. 데이터 직무 자격증까지 고민한다면 SQLD vs 빅데이터분석기사 비교를 먼저 보고, SQLD 단기 준비는 실무 쿼리 감각을 만든 뒤 이어서 판단해도 늦지 않습니다.
마무리
엑셀에서 SQL로 넘어가는 핵심은 “새 언어를 배운다”보다 “반복되는 엑셀 절차를 쿼리로 남긴다”입니다. VLOOKUP을 JOIN으로, SUMIF를 GROUP BY로, IF를 CASE WHEN으로 바꾸는 감각만 잡아도 실무 문턱은 크게 낮아집니다. 30일 동안 목표를 작게 잡으세요. 보고서 하나를 SQL로 다시 만드는 것, 거기서 시작하면 충분합니다.
출처와 확인 기준
- Microsoft Excel specifications and limits: https://support.microsoft.com/en-us/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3
- PostgreSQL 공식 튜토리얼: https://www.postgresql.org/docs/current/tutorial.html
- PostgreSQL Window Functions: https://www.postgresql.org/docs/current/tutorial-window.html
- SQLite Window Functions: https://sqlite.org/windowfunctions.html