비전공자가 SQLD 공부를 시작할 때 가장 많이 하는 실수는 1과목과 2과목에 시간을 반반 쓰는 것입니다. 1과목 데이터 모델링은 전체 배점의 20%이고, 2과목 SQL 기본 및 활용이 80%입니다. 출제 비중을 모른 채 균등하게 공부하면, 배점 낮은 쪽에 시간을 낭비하고 정작 합격을 가르는 2과목에서 부족하게 됩니다.
80%
SQLD 2과목 SQL 기본 및 활용 배점 비중
이 글에서는 과목별 출제 비중을 수치로 분석하고, 비전공자가 반복하는 5가지 실수 패턴과 이를 피하는 4주 독학 로드맵을 정리합니다.
1과목과 2과목, 비중 차이가 합격을 가른다
SQLD는 2과목 50문항, 총 100점 만점 시험입니다. 60점 이상이면 합격이지만, 과목별 40% 미만이면 총점에 관계없이 과락입니다. 이 구조를 모르면 공부 방향이 처음부터 어긋납니다.
| 구분 | 1과목: 데이터 모델링의 이해 | 2과목: SQL 기본 및 활용 |
|---|---|---|
| 문항 수 | 10문항 | 40문항 |
| 배점 | 20점 | 80점 |
| 과락 기준 | 8점 미만 (4문항 이하 정답) | 32점 미만 (16문항 이하 정답) |
| 주요 출제 유형 | ERD 읽기, 정규화, 관계 식별 | SELECT 문, JOIN, 서브쿼리, 윈도우 함수 |
| 비전공자 체감 난이도 | 중 (암기형) | 중상 (이해+계산형) |
| 권장 학습 시간 비중 | 25% | 75% |
1과목은 10문항 중 5문항만 맞혀도 과락을 피한다. 과락 기준인 8점(4문항)을 넘으면 되기 때문입니다. 반면 2과목은 40문항 중 16문항 이하면 과락이므로, 최소 17문항 이상을 맞혀야 합격 가능성이 생깁니다. 비전공자라면 1과목은 5~6문항만 확실히 잡고, 나머지 시간을 2과목에 투자하는 전략이 훨씬 효율적입니다.
합격 루트의 SQLD 합격률 42%의 함정에서도 확인할 수 있듯이, 탈락자의 절반 이상은 1과목이 아닌 2과목에서 발생합니다.
2과목 세부 출제 비중 — 어디서 점수를 버는가
2과목 40문항은 크게 3개 영역으로 나뉩니다. 영역별 출제 비중과 난이도가 다르므로, 시간을 어디에 먼저 쏟을지 결정해야 합니다.
| 영역 | 출제 비중 | 주요 토픽 | 비전공자 권장 우선순위 |
|---|---|---|---|
| SQL 기본 | 약 45% (18문항 내외) | SELECT, WHERE, GROUP BY, ORDER BY, 조인 | 1순위 |
| SQL 활용 | 약 35% (14문항 내외) | 서브쿼리, 윈도우함수, 계층쿼리, DCL/TCL | 2순위 |
| 관리 구문 | 약 20% (8문항 내외) | DDL(CREATE/ALTER/DROP), DML(INSERT/UPDATE/DELETE) | 3순위 |
SQL 기본 영역은 2과목 점수의 45%를 차지하며, 이 구역에서 80% 이상을 확보하지 못하면 합격이 어렵다. 비전공자가 가장 먼저 집중해야 하는 이유입니다. SELECT 문법, WHERE 조건, GROUP BY와 HAVING의 실행 순서, 조인 유형 4가지가 이 영역의 핵심입니다.
SQL 활용 영역은 윈도우 함수와 서브쿼리를 포함하므로 체감 난이도가 높습니다. 그러나 기출 패턴이 반복되는 편이라 유형별로 공략하면 짧은 시간에 안정적으로 점수를 올릴 수 있습니다.
비전공자가 반복하는 실수 패턴 5가지
기출문제 분석과 수험생 후기를 종합하면, 비전공자가 반복적으로 틀리는 문제 유형은 5가지로 집약됩니다. 이 패턴을 알고 대비하는 것과 모르고 넘어가는 것은 10점 이상의 점수 차이를 만들 수 있습니다.
실수 패턴 1: SQL 실행 순서 혼동
SELECT 문은 코드 작성 순서와 실제 실행 순서가 다릅니다. 작성 순서대로 실행된다고 착각하면 WHERE 절 alias 문제에서 반드시 틀립니다.
SQL 실행 순서
FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY 순서로 처리됩니다. SELECT 절이 먼저 처리될 것 같지만, WHERE와 GROUP BY가 먼저 실행되기 때문에 WHERE 절에서 SELECT의 별칭(alias)을 사용할 수 없습니다.
시험에서는 "다음 SQL 실행 결과로 옳은 것은?" 유형으로 출제됩니다. WHERE 절에 SELECT alias를 사용한 구문을 정답으로 고르는 함정 보기가 자주 등장합니다.
WHERE 절 alias 사용 불가
SELECT salary * 1.1 AS adjusted_salary FROM employees WHERE adjusted_salary > 5000 — 이 쿼리는 오류가 납니다. WHERE는 SELECT보다 먼저 실행되므로 adjusted_salary를 인식하지 못합니다. HAVING 절은 GROUP BY 이후에 실행되므로 집계 함수 결과를 조건으로 쓸 수 있습니다.
실수 패턴 2: NULL 연산 결과 예측 실패
NULL은 "값이 없음"이 아니라 "알 수 없음"입니다. 이 차이를 모르면 NULL 포함 연산 결과를 틀리게 예측합니다.
NULL 연산 규칙
NULL이 포함된 산술 연산의 결과는 항상 NULL입니다. NULL + 10 = NULL, NULL * 0 = NULL입니다. 또한 NULL = NULL은 TRUE가 아니라 UNKNOWN이기 때문에, NULL 비교는 반드시 IS NULL 또는 IS NOT NULL을 사용해야 합니다.
시험에서는 "SUM(컬럼)과 COUNT(컬럼)의 차이"를 묻는 문제로 자주 출제됩니다. SUM은 NULL을 무시하고 합산하지만, COUNT(*)는 NULL 포함 전체 행을 셉니다. COUNT(컬럼명)은 NULL을 제외한 행만 셉니다.
| 집계 함수 | NULL 처리 방식 | 값이 1, NULL, 3일 때 결과 |
|---|---|---|
| COUNT(*) | NULL 포함 전체 행 카운트 | 3 |
| COUNT(컬럼) | NULL 제외 카운트 | 2 |
| SUM(컬럼) | NULL 무시하고 합산 | 4 |
| AVG(컬럼) | NULL 제외 후 평균 계산 | 2 (4 나누기 2, NULL 제외) |
실수 패턴 3: 조인 유형 혼동
INNER JOIN, LEFT OUTER JOIN, FULL OUTER JOIN의 결과 행 수 차이를 헷갈려 틀립니다. 비전공자는 조인을 "두 테이블을 합친다"는 개념으로만 이해하기 때문에, 조인 유형별로 결과가 달라지는 부분에서 막힙니다.
조인 유형 암기 요령
INNER JOIN: 양쪽 모두에 있는 행만 결과에 포함됩니다. 교집합입니다. LEFT OUTER JOIN: 왼쪽 테이블의 모든 행과 오른쪽에서 매칭되는 행을 포함합니다. 오른쪽에 없으면 NULL로 채웁니다. FULL OUTER JOIN: 양쪽 테이블의 모든 행을 포함합니다. 서로 매칭되지 않으면 NULL로 채웁니다. CROSS JOIN: 두 테이블의 모든 조합입니다. 결과 행 수 = 왼쪽 행 수 곱하기 오른쪽 행 수입니다.
시험에서는 주어진 두 테이블과 SQL 문을 보고 "결과로 나오는 행 수는?" 유형으로 출제됩니다. LEFT JOIN에서 오른쪽 테이블에 매칭이 없을 때 NULL 행이 포함된다는 점을 빠뜨리면 행 수를 잘못 계산합니다.
실수 패턴 4: GROUP BY와 HAVING 조건 위치 혼동
GROUP BY로 집계한 결과를 필터링할 때 WHERE 대신 HAVING을 써야 합니다. 그러나 "조건은 WHERE에 쓴다"는 단순 암기로 접근하면, 집계 함수 결과를 WHERE에 넣어 오류를 만들게 됩니다.
- WHERE vs HAVING 구분 기준 - 개별 행에 대한 조건이면 WHERE, 집계 결과에 대한 조건이면 HAVING입니다. HAVING COUNT(*) > 3은 그룹화 후 3개 초과 그룹만 남기는 것이고, WHERE COUNT(*) > 3은 오류입니다.
- GROUP BY 없이 HAVING 사용 가능 - GROUP BY 없이 HAVING만 단독으로 쓸 수 있습니다. 전체 테이블을 하나의 그룹으로 보고 집계 조건을 적용합니다. HAVING AVG(salary) > 5000은 전체 평균이 5000을 초과하는 경우에만 결과를 반환합니다.
- HAVING에 쓰는 집계 함수는 SELECT에 없어도 됩니다 - HAVING SUM(amount) > 100은 SELECT 절에 SUM이 없어도 사용 가능합니다. SELECT와 HAVING은 독립적으로 집계 함수를 사용할 수 있습니다.
실수 패턴 5: 서브쿼리 위치별 명칭과 특성 혼동
서브쿼리는 위치에 따라 스칼라 서브쿼리, 인라인 뷰, 중첩 서브쿼리로 나뉩니다. 시험에서는 "다음 SQL에서 서브쿼리의 종류는?" 또는 "올바른 사용 위치는?" 유형으로 출제됩니다.
| 서브쿼리 종류 | 위치 | 반환값 조건 | 시험 출제 포인트 |
|---|---|---|---|
| 스칼라 서브쿼리 | SELECT 절 | 단일 행, 단일 열만 반환 | 다중 행 반환 시 오류 발생 |
| 인라인 뷰 | FROM 절 | 결과를 테이블처럼 사용 | 반드시 별칭(alias) 부여 필요 |
| 중첩 서브쿼리 | WHERE/HAVING 절 | 단일 행 또는 다중 행 | IN, EXISTS, ANY, ALL 연산자와 함께 출제 |
스칼라 서브쿼리가 다중 행을 반환하면 런타임 오류가 발생한다는 사실은 시험에서 자주 오답 보기로 활용된다. 인라인 뷰는 alias 없이 사용하면 오류가 난다는 점도 함께 기억해야 합니다.
비전공자 4주 독학 로드맵 — 출제 비중 반영 버전
출제 비중을 반영해 4주를 설계합니다. 1과목은 1주에 집중적으로 처리하고, 2~4주는 전부 2과목에 투자합니다.
- 1주차: 1과목 데이터 모델링 집중 처리 (목표 15시간) - 엔티티, 속성, 관계 개념 정리 후 ERD 읽기 연습을 합니다. 정규화 1NF~3NF를 이해하고, 1과목 기출 2회분을 풉니다. 목표 점수는 12점(6문항)으로 설정합니다. 이 이상을 목표로 잡으면 2과목 시간이 부족해집니다.
- 2주차: 2과목 SQL 기본 (목표 20시간) - SELECT 기본 문법부터 시작해 WHERE 조건(BETWEEN, IN, LIKE, IS NULL), GROUP BY와 HAVING, ORDER BY, INNER JOIN과 OUTER JOIN까지 학습합니다. 문법을 암기하는 것이 아니라 각 구문이 어떤 결과를 만드는지 예시로 확인하면서 이해합니다.
- 3주차: 2과목 SQL 활용 (목표 20시간) - 서브쿼리 3종 위치별 특성, 윈도우 함수(RANK, ROW_NUMBER, LAG, LEAD), NULL 처리 함수(NVL, COALESCE, NULLIF), DDL, DML, DCL, TCL 구분을 학습합니다. 윈도우 함수는 PARTITION BY와 ORDER BY 조합 문제를 집중 연습합니다.
- 4주차: 기출 집중 복습과 실수 패턴 점검 (목표 20시간) - 최근 3회 기출 전 문항을 풀고, 틀린 문제를 실수 패턴 1~5 중 어느 패턴인지 분류합니다. 취약 유형을 집중 재학습한 뒤, 시험 3일 전부터 모의고사를 시간 내 풀이 연습합니다.
4주 학습 총 시간 목표
총 75시간 기준입니다. 직장인이라면 평일 하루 2시간, 주말 하루 4시간으로 4주에 달성 가능한 분량입니다. 단, 3주차 윈도우 함수 구간이 가장 시간 소모가 크므로 3주차 주말에 버퍼 시간을 미리 확보해 두는 것이 좋습니다.
시험 당일 점수를 지키는 체크포인트
시험장에서 공부한 내용을 점수로 전환하지 못하는 경우가 있습니다. 비전공자가 특히 주의해야 하는 3가지를 정리합니다.
SQL 문제는 반드시 실행 결과를 직접 추적해야 한다. 코드를 읽어서 직관적으로 답을 고르면 실수 패턴 1~3에서 오답을 낼 가능성이 높습니다. 시간이 조금 걸리더라도 FROM → WHERE → GROUP BY → HAVING → SELECT 순서로 직접 따라가며 결과를 확인하는 습관이 필요합니다.
1과목 10문항은 10분 안에 마치세요
많은 수험생이 1과목을 어렵게 느껴 시간을 길게 씁니다. 1과목 10문항은 10~12분 안에 마치고 나머지 78분을 2과목에 집중하세요. 1과목에서 시간을 초과하면 2과목 후반부 윈도우 함수 문제에서 검토 시간이 부족해집니다.
모르는 문제는 표시 후 넘기고, 아는 문제를 먼저 확보한 다음 돌아오는 방식이 효율적입니다. 2과목 40문항은 난이도 순서 없이 섞여 있으므로, 1~3번에서 막혔다고 당황하지 않아도 됩니다.
비전공자가 SQLD를 처음 공부한다면 SQLD 비전공자 3주 독학 전략을 함께 참고하면 기초 문법 진입 단계를 빠르게 넘길 수 있습니다. SQL 외에 데이터 관련 자격증을 연계해서 취득하려는 경우에는 AI 자격증 4종 비교 2026에서 ADsP와 빅데이터분석기사 로드맵도 확인해 보세요.
SQLD 합격 후 다음 자격증을 고르는 기준
SQLD 합격 후 자연스럽게 이어지는 자격증은 두 갈래입니다. 데이터 분석 방향이라면 ADsP 또는 빅데이터분석기사, 개발 직무 방향이라면 정보처리기사 실기가 선택지가 됩니다.
| 다음 자격증 | 연계 방향 | SQLD 대비 난이도 | 추천 대상 |
|---|---|---|---|
| ADsP (데이터분석 준전문가) | 데이터 분석 직무 | 유사 (2~3주 추가) | 분석 직군 취업 준비생 |
| 빅데이터분석기사 | 데이터 엔지니어/분석가 | 어려움 (Python 코딩 포함) | 개발 경험 있는 수험생 |
| 정보처리기사 실기 | 개발 직군 취업 | 훨씬 어려움 | IT 전반 취업 준비생 |
| SQLP (SQL 전문가) | DBA/데이터 아키텍처 | 매우 어려움 (실무 경험 필요) | 현업 3년 이상 데이터 직군 |
SQLD는 출제 비중을 파악하고 2과목 중심으로 학습 시간을 배분하면, 비전공자도 4주 안에 충분히 합격 가능한 자격증입니다. 실수 패턴 5가지를 사전에 파악하고 기출에서 해당 유형을 집중적으로 연습하는 것이 가장 빠른 길입니다.