SQLD 공부, 처음부터 모든 내용을 완벽하게 외울 필요는 없습니다
개념 → SQL 문법 → 기출 반복 순서로 4주를 설계하세요
SQLD를 독학할 때 가장 흔한 실수는 두꺼운 기본서를 처음부터 끝까지 여러 번 읽는 것입니다. 실제 공부에서는 데이터 모델링의 핵심 개념을 먼저 잡고 SQL 기본·활용 영역을 문제와 함께 반복한 뒤 시험 직전에는 기출·복원 문제와 오답에 집중하는 방식이 효율적입니다. 특히 비전공자는 SQL 문장을 눈으로만 읽지 말고 작은 테이블을 직접 그리면서 결과가 어떻게 나오는지 확인하는 것이 중요합니다.
📚 교재 선택
🗓️ 4주 스케줄
⌨️ SQL 실습
🎯 기출 반복
- 최신 출제범위를 기준으로 교재를 고릅니다.
- 1회독은 암기보다 전체 구조를 이해하는 데 집중합니다.
- SQL은 테이블과 실행 결과를 직접 그려봅니다.
- 문제풀이와 개념 복습을 동시에 진행합니다.
- 틀린 문제를 유형별로 분류합니다.
- 시험 직전에는 새 교재보다 오답과 취약 개념을 반복합니다.
SQLD 교재는 기본서 1권과 문제풀이 자료를 중심으로 단순하게 구성하는 것이 좋습니다
SQLD 독학을 시작하면 교재부터 여러 권 구입하고 싶어질 수 있습니다. 하지만 기본서마다 같은 개념이 반복되기 때문에 책을 계속 바꾸면 오히려 회독 속도가 느려집니다. 저는 교재를 고를 때 최신 시험범위 반영 여부, 개념 설명, SQL 실행 결과 해설, 문제 수, 오답 해설의 구체성을 우선적으로 확인하는 방식을 권합니다.
대표적인 선택지는 SQLD 수험생들이 흔히 이용하는 최신판 수험서입니다. 예를 들어 흔히 ‘노랭이’라고 부르는 SQL 자격검정 실전문제 계열 자료는 문제풀이용으로 많이 활용되고, 별도의 SQLD 기본서는 개념을 처음 배우는 비전공자에게 유용합니다. 다만 책 제목이나 판본만 보고 구입하지 말고 응시하려는 시험 시점의 출제범위가 반영된 최신 개정판인지 반드시 확인해야 합니다.
완전 초보자라면 요약형 문제집 한 권만으로 시작하기보다 설명이 충분한 기본서를 먼저 사용하는 편이 편합니다. 반대로 데이터베이스 수업을 들었거나 SQL을 업무에서 사용한 경험이 있다면 기본서의 모든 페이지를 정독하기보다 요약 내용을 빠르게 확인한 뒤 문제풀이에서 부족한 부분만 다시 찾아보는 방식이 효율적입니다.
| 학습자 | 교재 구성 | 활용 방법 |
|---|---|---|
| 완전 초보 | 최신 기본서 + 문제집 | 개념을 읽은 직후 관련 문제 풀이 |
| 전공자 | 요약서 + 문제집 | 문제 중심으로 취약 개념 역추적 |
| SQL 경험자 | 문제집 + 취약 영역 참고서 | 모델링과 시험형 함정 집중 보완 |
💡 교재 선택 팁: 서점에서 책을 비교할 때 JOIN이나 서브쿼리 문제의 해설 페이지를 먼저 보세요. 단순히 정답만 설명하는 책보다 각 선택지가 왜 맞고 틀리는지, SQL 실행 결과가 왜 그렇게 나오는지 설명하는 책이 독학에 유리합니다.
1주차에는 데이터 모델링과 관계형 데이터베이스의 구조를 먼저 이해합니다
첫 주부터 SQL 문법만 파고들면 데이터 모델링 영역을 시험 직전에 몰아서 외우게 되는 경우가 많습니다. 1주차에는 엔터티, 속성, 관계, 식별자와 같은 기본 용어를 익히고 정규화가 왜 필요한지 이해하는 데 시간을 배분합니다. 개념 이름을 그대로 외우기보다 간단한 쇼핑몰이나 학교 데이터베이스를 예로 들어 직접 구조를 만들어보면 기억하기 쉽습니다.
예를 들어 고객, 주문, 상품이라는 세 개의 엔터티를 놓고 고객과 주문은 어떤 관계인지, 주문과 상품은 어떻게 연결되는지 생각해봅니다. 기본키와 외래키가 어떤 역할을 하는지 실제 테이블 형태로 그려보면 이후 JOIN을 공부할 때도 도움이 됩니다. 모델링과 SQL을 완전히 별개의 과목으로 보지 않는 것이 좋습니다.
📅 1주차 예시 스케줄
Day 1 — 시험범위 확인 + 데이터 모델링 전체 구조 파악
Day 2 — 엔터티·속성·관계
Day 3 — 식별자와 키 개념
Day 4 — 정규화와 데이터 모델 이해
Day 5 — 관련 문제풀이
Day 6 — 오답 개념 복습
Day 7 — 1주차 요약노트 1~2장으로 압축
2주차는 SELECT부터 JOIN까지 SQL 기본 문법을 결과 중심으로 공부합니다
SQL 문법은 영어 단어처럼 문장을 통째로 암기하면 조금만 형태가 바뀌어도 헷갈릴 수 있습니다. SELECT가 어떤 데이터를 선택하고 WHERE가 어떤 행을 걸러내며 GROUP BY가 어떤 기준으로 데이터를 묶는지를 테이블 변화로 이해해야 합니다. 특히 NULL과 집계 함수가 함께 등장할 때 결과가 어떻게 달라지는지 주의해서 공부하는 것이 좋습니다.
JOIN은 SQLD 독학에서 많은 수험생이 어려워하는 부분입니다. INNER JOIN, LEFT OUTER JOIN 같은 용어만 외우지 말고 왼쪽 테이블과 오른쪽 테이블을 직접 그린 뒤 어떤 행이 결과에 남는지 확인합니다. 조인 조건이 없거나 잘못되었을 때 결과 건수가 어떻게 증가할 수 있는지도 문제로 확인하면 좋습니다.
| 우선순위 | 학습 항목 | 체크 포인트 |
|---|---|---|
| 1 | SELECT / WHERE | 조건식과 NULL 처리 |
| 2 | 함수 | 문자·숫자·날짜·NULL 관련 함수 |
| 3 | GROUP BY / HAVING | 집계 전후 조건 구분 |
| 4 | JOIN | 결과 행과 NULL 발생 여부 직접 확인 |
⚠️ 독학할 때 주의: SQL 코드를 보고 ‘알 것 같다’고 느끼는 것과 실제 결과를 맞히는 것은 다릅니다. SQL 문장을 가리고 결과를 먼저 예상한 다음 실제 실행 결과와 비교하는 연습을 반복하세요.
하루 공부시간이 부족하다면 분량보다 매일 반복할 수 있는 루틴을 먼저 정하세요
직장인이나 대학생은 하루에 긴 시간을 확보하기 어렵습니다. 이 경우 평일에 무리해서 세 시간씩 계획하기보다 실제로 지킬 수 있는 시간을 기준으로 계획하는 것이 낫습니다. 예를 들어 평일에는 60~90분 동안 개념과 문제를 공부하고 주말에 취약 영역과 누적 문제를 정리하는 방식입니다.
한 번의 공부시간도 개념만 읽는 시간으로 채우지 않는 것이 좋습니다. 60분을 확보했다면 20분은 전날 오답 복습, 20분은 새로운 개념, 나머지 20분은 관련 문제를 푸는 식으로 구성할 수 있습니다. 이렇게 하면 복습이 시험 직전으로 밀리지 않습니다.
💡 직장인 루틴 예시: 평일 60~90분 × 5일 + 주말 2~3시간 정도를 기준으로 계획하되, 실제 준비기간은 SQL 경험과 학습 속도에 따라 늘리거나 줄이세요. 중요한 것은 총 공부시간보다 개념을 배운 날 바로 문제로 확인하는 구조입니다.
XML
3주차에는 서브쿼리·집합 연산·윈도우 함수처럼 헷갈리는 SQL 활용 문제를 집중적으로 반복합니다
기본 문법을 익혔다면 3주차부터는 단순 암기보다 SQL의 실행 결과를 추론하는 문제에 시간을 더 배분합니다. 서브쿼리는 어디에 위치하는지뿐 아니라 단일 행과 다중 행 결과가 어떻게 다른지, 메인 쿼리와 어떤 관계를 갖는지 살펴봐야 합니다.
집합 연산도 결과를 직접 만들어보는 것이 좋습니다. 두 결과 집합이 있을 때 중복을 어떻게 처리하는지, 컬럼 구조에는 어떤 조건이 필요한지를 문제와 함께 확인합니다. 계층형 질의나 윈도우 함수 등은 사용하는 DBMS에 따라 문법이나 동작에서 차이가 생길 수 있으므로 시험 교재의 기준과 설명을 중심으로 정리합니다.
특히 순위나 누적값, 그룹 내 계산을 다루는 문제에서는 함수 이름만 외우지 말고 PARTITION BY와 ORDER BY가 결과를 어떻게 나누고 정렬하는지 직접 표에 표시해보세요. 한 문제를 오래 붙잡더라도 결과가 만들어지는 과정을 제대로 이해하면 비슷한 문제가 나왔을 때 대응하기 쉬워집니다.
📅 3주차 집중 체크
☐ 서브쿼리의 결과 건수를 예상할 수 있는가?
☐ JOIN 후 행이 늘거나 NULL이 생기는 이유를 설명할 수 있는가?
☐ GROUP BY와 HAVING의 역할을 구분할 수 있는가?
☐ 집합 연산의 결과 차이를 구분할 수 있는가?
☐ 윈도우 함수의 PARTITION과 정렬 기준을 읽을 수 있는가?
☐ NULL이 포함된 연산과 비교 결과를 설명할 수 있는가?
4주차에는 새 내용을 늘리지 말고 기출·복원 문제와 오답을 이용해 시험형 사고방식을 익힙니다
마지막 주에는 기본서를 다시 처음부터 읽는 것보다 문제를 중심으로 공부하는 편이 효율적입니다. 실제 시험을 본다는 생각으로 시간을 정해 문제를 풀고, 채점 후에는 점수보다 틀린 이유를 확인합니다. 맞힌 문제라도 근거 없이 찍었거나 두 선택지 사이에서 고민했다면 오답과 동일하게 표시합니다.
오답은 ‘개념을 몰랐다’, ‘SQL 실행 결과를 잘못 계산했다’, ‘NULL을 놓쳤다’, ‘문제를 잘못 읽었다’처럼 원인별로 분류합니다. 이렇게 분류하면 단순히 틀린 문제 수를 줄이는 것보다 취약한 사고방식을 고칠 수 있습니다.
시험 직전에는 새 문제를 무한정 추가하기보다 이미 틀렸던 문제를 다시 풀어보는 것이 중요합니다. 이전에 틀린 문제를 정답 표시 없이 다시 풀었는데도 같은 부분에서 막힌다면 아직 개념이 완전히 정리되지 않은 것입니다. 해당 부분만 기본서로 돌아가 짧게 확인한 뒤 다시 문제를 풀어봅니다.
| 오답 유형 | 복습 방법 |
|---|---|
| 개념 부족 | 기본서 해당 부분을 다시 읽고 한 문장으로 요약 |
| SQL 계산 실수 | 테이블을 직접 그려 실행 결과 재계산 |
| NULL 실수 | NULL 비교·연산·집계 관련 문제 묶어서 반복 |
| 문제 해석 실수 | 조건과 질문에 밑줄을 긋는 습관 적용 |
2주·4주·6주 중 자신의 SQL 경험에 맞춰 공부기간을 조절하는 것이 좋습니다
모든 수험생에게 4주가 정답인 것은 아닙니다. SQL을 이미 업무에서 사용하는 사람이라면 문제풀이와 데이터 모델링 복습을 중심으로 준비기간을 압축할 수 있습니다. 반대로 SELECT 문을 처음 보는 비전공자는 4주 계획을 억지로 지키기보다 5~6주 정도로 늘려 SQL 기본 문법을 충분히 익히는 편이 안정적입니다.
| 현재 수준 | 예시 준비기간 | 학습 포인트 |
|---|---|---|
| SQL 실무 경험 있음 | 약 2~3주 | 모델링 + 시험형 문제 집중 |
| 기초 경험 있음 | 약 4주 | 개념과 문제풀이 균형 |
| 완전 초보 | 약 5~6주 이상 | SQL 기초 실습 시간을 충분히 확보 |
위 기간은 합격을 보장하는 기준이 아니라 공부 계획을 세우기 위한 예시입니다. 실제 필요한 시간은 데이터베이스 배경지식, 하루 공부시간, 문제풀이 속도에 따라 크게 달라질 수 있습니다. 따라서 첫 주에 문제를 조금 풀어본 뒤 자신의 수준에 맞춰 기간을 조정하는 것이 좋습니다.
SQLD 독학에서 자주 묻는 질문 Q&A
SQLD 독학 최종 체크리스트
☐ 응시 시점의 최신 시험범위와 교재 개정 여부를 확인했다.
☐ 엔터티·속성·관계·식별자의 차이를 설명할 수 있다.
☐ 정규화의 목적과 기본적인 구조 변화를 이해한다.
☐ SELECT·WHERE·GROUP BY·HAVING의 역할을 구분한다.
☐ JOIN 결과의 행 수와 NULL 발생 여부를 추론할 수 있다.
☐ NULL이 연산·비교·집계에 미치는 영향을 이해한다.
☐ 서브쿼리와 집합 연산 문제를 반복해서 풀었다.
☐ 윈도우 함수의 결과를 표로 계산해볼 수 있다.
☐ 틀린 문제를 원인별로 분류해 다시 풀었다.
☐ 제한시간을 두고 실전처럼 문제를 풀어봤다.
SQLD 독학의 핵심은 공부자료를 많이 모으는 것이 아니라 한 권의 기본서를 빠르게 이해하고 문제풀이를 통해 부족한 개념으로 되돌아가는 반복 구조를 만드는 것입니다. 완전 초보라면 모델링과 SQL 기초를 충분히 이해하고, 어느 정도 경험이 있다면 문제풀이 비중을 높이세요. 마지막 주에는 새로운 내용을 추가하기보다 오답과 취약 영역을 반복하는 편이 효율적입니다.
※ SQLD 시험범위, 출제기준, 일정 및 세부 운영사항은 변경될 수 있습니다. 실제 응시 전에는 데이터자격시험 공식 안내와 응시하려는 회차의 최신 시험정보를 확인하세요.
※ 특정 교재의 적합성은 학습자의 배경지식과 개정판 출간 시점에 따라 달라질 수 있습니다. 교재 구매 전 목차와 최신 출제범위 반영 여부를 확인하는 것이 좋습니다.
답글 남기기