SQLD · 문제풀이 가이드

SQLD 기출문제 CBT 공부법: 풀이·해설·오답 복습 3단계

SQLD 기출문제 CBT는 답을 보지 않고 풀기 → 정답의 근거 확인하기 → 틀린 문제 다시 풀기 순서로 활용하세요. 맞혔어도 이유를 설명하지 못한 문제는 복습 대상으로 남깁니다.

한 번의 문제풀이를 3단계로

  1. 01 · 먼저 풀기

    Quizeey에서 SQLD를 선택하고 원하는 회차·문제 수로 시작하세요. 정답을 보기 전에 선택 이유를 한 문장으로 생각합니다.

  2. 02 · 근거 확인

    정답과 해설을 읽고, 틀린 선택지는 어느 조건 때문에 틀렸는지 찾습니다. 해설을 외우기보다 계산 순서를 직접 설명해 보세요.

  3. 03 · 다시 풀기

    틀린 문제는 오답 복습으로, 맞혔지만 불안한 문제는 북마크로 모으세요. 다음 학습 때 답을 가리고 다시 풉니다.

복습 예시: COUNT는 무엇을 셀까요?

COUNT(*)는 모든 행, COUNT(컬럼)은 NULL이 아닌 값, COUNT(DISTINCT 컬럼)은 NULL과 중복을 제외한 값을 셉니다.

다음은 직접 만든 학습용 scores 테이블입니다. score는 숫자형 컬럼이며, NULL은 값이 없음을 나타냅니다.

예제 테이블: scores
idscore
180
280
3NULL
40
COUNT(*)480 · 80 · NULL · 0모든 행
COUNT(score)380 · 80 · 0NULL 제외
COUNT(DISTINCT score)280 · 0NULL + 중복 제외
0은 실제 값이므로 셉니다. NULL이 있는 행도 COUNT(*)에는 포함됩니다.
SELECT COUNT(*) AS all_rows,
       COUNT(score) AS scored_rows,
       COUNT(DISTINCT score) AS unique_scores
FROM scores;

-- 결과: 4, 3, 2

30초 확인 문제

WHERE 조건을 추가하면?

같은 테이블에서 다음 쿼리의 결과를 먼저 생각해 보세요.

SELECT COUNT(*), COUNT(score)
FROM scores
WHERE score IS NULL;
정답과 해설 보기

정답: 1, 0. WHERE가 NULL인 행 하나만 남깁니다. COUNT(*)는 그 행을 세고, COUNT(score)는 NULL을 제외합니다. 조건으로 행을 고른 뒤 집계한다는 순서가 핵심입니다.

오답 메모는 한 줄이면 충분합니다. «NULL도 값처럼 셌다 → COUNT(컬럼)은 NULL 제외»처럼 실수와 규칙을 함께 적어 보세요.

공식 문서로 확인하기

PostgreSQL 공식 문서: COUNT 집계 함수 · DISTINCT 집계 표현식

이 글의 예제는 개념 학습용으로 작성했으며 실제 출제 문항이 아닙니다.