SQLD 2과목 SQL 기본 및 활용 과락 피하는 핵심 쿼리 암기장
SQLD 2과목 SQL 기본 및 활용 과락 피하는 핵심 쿼리 암기장
핵심만 먼저
2과목(SQL 기본 및 활용)은 40문항 중 32점(16문항) 이상을 못 채우면 총점과 무관하게 과락으로 불합격합니다. 모든 내용을 깊게 파고들 필요는 없지만, 자주 나오는 유형(조인, 서브쿼리, 윈도우 함수, 집합 연산자)을 우선순위로 잡고 실행 결과를 해석할 수 있는 수준까지는 반복해야 방어선을 안정적으로 넘길 수 있습니다.
💬 오래된 교재로 헛수고하기 전에
1과목은 용어만 외우면 어떻게든 되는데, 2과목은 코드를 봐도 뭐가 뭔지 모르겠다는 분들이 많습니다. 문제는 범위가 넓어 보인다는 착각입니다. 실제로는 매 회차 반복되는 유형이 정해져 있고, 심지어 2024년 개정으로 예전보다 범위가 좁아진 부분도 있습니다. 어디를 외워야 하는지만 정확히 알면 훨씬 수월해집니다.
2024년 개정으로 바뀐 출제 범위부터 확인하세요
2024년 3월 제52회 시험부터 2과목의 세부 출제 범위가 바뀌었습니다. 오래된 교재나 인강을 그대로 쓰면 이미 제외된 내용을 붙잡고 있을 수 있으니, 아래 표부터 확인하고 시작하는 게 시간을 아끼는 길입니다.
2024년 이후 제외된 내용
- 절차형 SQL
- 옵티마이저와 실행계획
- 인덱스 기본
- 조인 수행 원리(내부 처리 방식)
2024년 이후 새로 추가된 내용
- PIVOT 절과 UNPIVOT 절
- 정규 표현식
- (참고) 단답형 문항 폐지, 전 문항 선택형 50문항으로 통일
자주 나오는 유형 압축 체크리스트
아래 항목은 최근 회차 기출을 기준으로 수험생이 반복해서 확인할 필요가 있는 대표 유형입니다. 시간이 부족하다면 이 목록 순서대로 우선순위를 두고 회독하세요. 각 유형 아래에는 시험에 나오는 기본형에 가까운 예시 쿼리를 붙였으니, 문법 이름만 외우지 말고 코드를 눈으로 따라가 보세요.
- SELECT / WHERE 기본 구조와 연산자 우선순위
- GROUP BY, HAVING의 실행 순서(WHERE는 행 단위, HAVING은 그룹 단위 필터)
- INNER JOIN, OUTER JOIN(LEFT/RIGHT/FULL), SELF JOIN 구분
- 서브쿼리 종류(단일행·다중행·상관 서브쿼리)와 사용 위치
- 집합 연산자(UNION, UNION ALL, INTERSECT, MINUS)의 차이
- 윈도우 함수(RANK, DENSE_RANK, ROW_NUMBER 등) 기본형
- 계층형 질의(START WITH ~ CONNECT BY) 기본 구조
- PIVOT/UNPIVOT, 정규 표현식(신규 추가 파트 — 놓치기 쉬움)
유형별 기본형 예시 쿼리
이름만 외우지 말고 아래 기본형을 눈으로 한 번씩 따라가 보세요. 시험에 그대로 나오지는 않지만, 변형 문제를 만났을 때 "어디서 본 구조인지" 감을 잡는 데 도움이 됩니다.
LEFT OUTER JOIN — 왼쪽 테이블(A) 기준으로 오른쪽(B)에 값이 없으면 NULL
SELECT A.NAME, B.SCORE
FROM A
LEFT JOIN B ON A.ID = B.ID;
상관 서브쿼리 — 바깥쪽 쿼리의 값을 안쪽 쿼리에서 참조
SELECT E.NAME
FROM EMPLOYEE E
WHERE E.SALARY > (
SELECT AVG(E2.SALARY)
FROM EMPLOYEE E2
WHERE E2.DEPT_ID = E.DEPT_ID
);
집합 연산자(UNION) — 두 SELECT 결과를 중복 없이 합침(UNION ALL은 중복 포함)
SELECT NAME FROM EMPLOYEE_SEOUL
UNION
SELECT NAME FROM EMPLOYEE_BUSAN;
윈도우 함수(RANK) — 부서별로 그룹을 나누고(PARTITION BY), 급여 순으로 순위를 매김
SELECT NAME, DEPT_ID, SAL,
RANK() OVER (PARTITION BY DEPT_ID ORDER BY SAL DESC) AS SAL_RANK
FROM EMPLOYEE;
계층형 질의 — 특정 사원을 최상위로 두고 하위 조직을 트리 형태로 조회
SELECT EMP_ID, MGR_ID, LEVEL
FROM EMPLOYEE
START WITH MGR_ID IS NULL
CONNECT BY PRIOR EMP_ID = MGR_ID;
PIVOT — 행으로 나열된 값을 열로 펼쳐서 요약(2024년 개정에서 신규 추가된 파트)
SELECT *
FROM (SELECT DEPT_ID, JOB_TYPE, SAL FROM EMPLOYEE)
PIVOT (
SUM(SAL) FOR JOB_TYPE IN ('DEV' AS DEV, 'SALES' AS SALES)
);
JOIN, 헷갈리면 이 표로 정리하세요
INNER JOIN
- 양쪽 테이블에 모두 값이 있는 행만 반환
- 가장 기본이지만 실수하기 쉬운 건 조인 조건 누락 → 카티션 곱 발생
OUTER JOIN
- LEFT: 왼쪽 테이블 기준, 오른쪽에 값이 없으면 NULL
- RIGHT/FULL도 원리는 동일, 어느 쪽을 기준으로 남기는지만 구분
SELF JOIN은 별도 문법이 아니라 같은 테이블을 서로 다른 별칭(alias)으로 두 번 참조해서 INNER/OUTER JOIN처럼 조인하는 방식입니다. 예를 들어 사원 테이블에서 "직속 상사의 이름"을 함께 조회할 때, EMPLOYEE 테이블을 E(사원)와 M(상사)이라는 두 별칭으로 나눠 조인합니다.
SELECT E.NAME AS EMP_NAME, M.NAME AS MGR_NAME
FROM EMPLOYEE E
LEFT JOIN EMPLOYEE M ON E.MGR_ID = M.EMP_ID;
※ 아래 사례는 실제 인터뷰가 아니라, 흔히 나타나는 패턴을 재구성한 가상 사례입니다.
2022년에 산 중고 교재로 준비한 취준생 D씨
중고로 산 SQLD 책이 개정 전 버전인 줄 모르고 옵티마이저와 인덱스 파트를 열심히 외웠습니다. 정작 시험에는 PIVOT과 정규 표현식 문제가 나왔는데 교재에 없는 내용이라 손도 못 댔습니다.
결과: 2과목에서 30점을 받아 과락(32점 미만)으로 불합격.
최근 회차 기출 위주로 다시 준비한 D씨(재도전)
불합격 후 최신 개정판 요약본과 최근 3개 회차 기출만 추려 조인·서브쿼리·윈도우 함수 위주로 반복했습니다. PIVOT과 정규 표현식은 기본형만이라도 외워뒀습니다.
결과: 재응시에서 2과목 58점으로 방어선을 넉넉히 넘기고 합격.
자주 묻는 질문
012과목에서 과락만 면하면 합격인가요?+
아닙니다. 2과목 32점은 과락을 면하는 최소 방어선일 뿐입니다. 총점 60점 이상을 채우려면 1과목 점수와 합쳐서 계산해야 하고, 1과목이 약하다면 2과목에서 32점보다 훨씬 더 많이 확보해야 합니다.
02예전에 산 SQLD 책이나 인강을 그대로 봐도 되나요?+
2024년 3월 제52회 시험부터 출제 범위가 바뀌었으므로, 그 이전에 나온 교재나 강의라면 절차형 SQL·옵티마이저·인덱스·조인 수행 원리 같은 이미 제외된 내용에 시간을 쓰게 될 수 있습니다. 구매 전에 개정 반영 여부를 표지나 목차에서 꼭 확인하세요. [2026년 9월 기준]
03윈도우 함수와 계층형 질의는 꼭 외워야 하나요?+
완벽히 이해하지 않아도 되지만 아예 손을 놓으면 안 됩니다. 배점이 큰 2과목 안에서 반복 출제되는 유형이라, 문법을 통째로 외워서라도 기본 형태의 문제는 맞히고 넘어가는 것이 점수 방어에 유리합니다.
04PIVOT·UNPIVOT, 정규 표현식은 최근에 추가된 내용인가요?+
네, 2024년 개정 출제범위에 새롭게 포함된 내용입니다. 기존 수험서에는 아예 안 실려 있을 수 있으니, 최신 개정판 교재나 최근 회차 기출로 따로 챙겨봐야 하는 파트입니다.
이어서 보면 좋은 글
← 데이터베이스 및 아키텍처 허브로 돌아가기외워서 붙고 나면 드는 궁금증
자격증만 따면 진짜 쿼리를 잘 짤 수 있을까?
암기로 합격한 뒤 실무에서 이 지식이 실제로 얼마나 쓸모 있는지 팩트체크해봤습니다.