카테고리 없음

SQLD 오답노트 작성 예시: 틀린 이유를 이렇게 적는다

myinfo5886 2026. 3. 28.

title image

 

SQLD 오답노트 작성 예시: 틀린 이유를 이렇게 적는다

시험이 가까워질수록 이런 생각 들죠.
“문제는 많이 풀었는데… 왜 자꾸 비슷한 데서 또 틀리지?”
SQLD는 특히 개념(데이터 모델링/정규화/관계) + SQL 문법/해석이 섞여 있어서, 단순히 정답만 체크하면 다음 회차에 똑같이 미끄러지기 쉬워요.

그래서 합격하는 사람들이 공통으로 하는 게 하나 있는데, 바로 ‘틀린 이유까지 적는 sqld 오답노트’예요.
오늘은 “어떻게 적어야 다시 안 틀리는지”에 초점을 맞춰서, sqld 예시까지 통째로 보여드릴게요.


SQLD 오답노트, “정답”보다 “틀린 이유”가 핵심인 이유

오답노트를 쓴다고 하면서도 실제로는 이런 식이 많아요.

  • “정답: ③”
  • “해설 읽음”
  • “다음 문제로”

근데 SQLD는 틀린 패턴이 반복돼요.
예를 들면,

  • 정규화에서 이상(Anomaly) 개념이 헷갈려서
  • JOIN 결과가 머릿속에서 안 그려져서
  • NULL 포함 집계에서 COUNT/AVG가 계속 흔들려서
  • GROUP BY/HAVING의 실행 순서를 자주 뒤집어서

이런 “틀리는 습관”을 잡아야 점수가 올라요.

즉 오답노트는 ‘sqld 답안지(정답체크)’가 아니라 ‘내 뇌의 오류 로그’를 쓰는 거예요.


오답노트 작성 전 세팅: 최소 구성 3종이면 끝

오답노트를 거창하게 꾸미지 않아도 됩니다. 대신 구조가 중요해요.

1) 메인 오답노트(sqld 오답노트)

  • 틀린 문제를 유형별로 기록
  • “왜 틀렸는지”가 중심

2) 요약 서브노트(sqld 요약 서브노트)

  • 오답에서 뽑아낸 규칙/패턴만 1~2줄로 압축
  • 시험 직전에 보는 “치트키 노트”

3) 단답 카드(sqld 단답)

  • 정의/키워드/비교 포인트를 짧게 암기
  • 예: “부분함수종속 / 이행함수종속 / 후보키/기본키/대체키 차이”

이 3개가 연결되면 복습 효율이 확 올라갑니다.


합격형 오답노트 템플릿(복붙용)

아래 템플릿 그대로 쓰면 “틀린 이유”가 자동으로 정리돼요.

[문제 정보]
회차/교재/번호:
영역(개념/SQL):
유형(정의/판단/계산/결과예측/문장해석):

[내가 고른 답] / [정답]
내가 고른 답:
정답:

[틀린 이유(핵심 1줄)]
예) HAVING을 WHERE처럼 생각함 / NULL 집계 규칙 착각 / 카디널리티 해석 오류

[내 사고 과정(실수 트리거)]
예) “조건이 있으니 WHERE겠지”라고 자동반응함

[정리(다음엔 이렇게)]
규칙:
체크포인트:
한 줄 암기:

[서브노트로 이동할 문장(1줄)]
예) “집계 조건은 WHERE가 아니라 HAVING, 단 WHERE는 집계 전 필터”


실전 SQLD 오답노트 작성 예시 6개 (유형별로)

아래는 실제로 많이 틀리는 포인트를 기준으로 만든 sqld 예시예요.
중요: 정답만 보지 말고 ‘틀린 이유 문장’을 어떻게 쓰는지 보세요.


예시 1) GROUP BY / HAVING 헷갈림 (SQL 해석형)

[문제 요지] 부서별 평균급여가 3000 이상인 부서만 조회
내가 고른 답: WHERE AVG(sal) >= 3000
정답: HAVING AVG(sal) >= 3000

틀린 이유(핵심 1줄)

  • 집계함수 조건을 WHERE로 처리하려고 함

내 사고 과정(실수 트리거)

  • “조건이 있으면 무조건 WHERE”로 반사적으로 판단

정리(다음엔 이렇게)

  • 규칙: WHERE는 집계 전에 행 필터, HAVING은 집계 후 그룹 필터
  • 체크포인트: “AVG/COUNT/SUM이 조건절에 있으면? → HAVING부터 의심”
  • 한 줄 암기: 집계 조건은 HAVING, 원본 행 조건은 WHERE

서브노트 문장(1줄)

  • 집계(AVG/COUNT/SUM) 조건절 = HAVING, 그룹 생성 전 필터 = WHERE

예시 2) COUNT(*) vs COUNT(컬럼) (NULL 규칙)

[문제 요지] NULL이 섞인 컬럼에서 COUNT 결과 비교
내가 고른 답: COUNT(col)도 NULL 포함
정답: COUNT(col)은 NULL 제외, COUNT(*)는 행 수

틀린 이유(핵심 1줄)

  • COUNT(col)의 NULL 제외 규칙을 놓침

내 사고 과정(실수 트리거)

  • “카운트는 다 세는 거 아닌가?”로 뭉뚱그림

정리(다음엔 이렇게)

  • 규칙: COUNT(*)는 행, COUNT(col)은 NULL 제외한 값
  • 체크포인트: “NULL이 존재한다고 문제에서 강조하면 집계함수 NULL 규칙이 포인트”
  • 한 줄 암기: COUNT(컬럼)=널 빼고 센다

서브노트 문장(1줄)

  • COUNT(*)=행 수, COUNT(col)=NULL 제외 값 개수

예시 3) OUTER JOIN 결과 행 수 착각 (결과예측형)

[문제 요지] A LEFT JOIN B에서 B에 매칭 없는 A는 어떻게?
내가 고른 답: 매칭 없으면 행이 사라진다
정답: LEFT JOIN이면 A는 유지, B 컬럼이 NULL로 채워짐

틀린 이유(핵심 1줄)

  • OUTER JOIN을 INNER JOIN처럼 생각함

내 사고 과정(실수 트리거)

  • JOIN=교집합 이미지가 너무 강함

정리(다음엔 이렇게)

  • 규칙: LEFT JOIN = 왼쪽(A) 보존, RIGHT JOIN = 오른쪽(B) 보존
  • 체크포인트: “보존되는 쪽을 먼저 고정하고, 반대쪽은 NULL 가능”
  • 한 줄 암기: LEFT는 왼쪽 생존

서브노트 문장(1줄)

  • LEFT OUTER JOIN: 왼쪽 테이블 행은 유지, 매칭 없으면 오른쪽 컬럼 NULL

예시 4) 정규화에서 부분함수종속/이행함수종속 혼동 (개념 단답형)

[문제 요지] 2NF, 3NF에서 제거하는 종속성은?
내가 고른 답: 2NF=이행 / 3NF=부분
정답: 2NF=부분함수종속 제거 / 3NF=이행함수종속 제거

틀린 이유(핵심 1줄)

  • 2NF/3NF의 제거 대상 종속성을 뒤집어서 암기함

내 사고 과정(실수 트리거)

  • “단계가 높아지면 더 어려운 걸 먼저 제거?” 같은 자기 논리로 외움

정리(다음엔 이렇게)

  • 규칙:
    • 1NF: 원자값
    • 2NF: 부분함수종속 제거(복합키 일부에만 종속)
    • 3NF: 이행함수종속 제거(A→B→C)
  • 한 줄 암기: 2=부분, 3=이행

서브노트 문장(1줄)

  • 2NF=부분함수종속 제거, 3NF=이행함수종속 제거 (2=부분,3=이행)

예시 5) 후보키/기본키/대체키 서술형 단답 (용어 정확도)

[문제 요지] 후보키/기본키/대체키 차이
내가 고른 답: 후보키=유일키, 기본키=대표키, 대체키=예비키(설명 부족)
정답 포인트: 유일성 + 최소성, 그리고 기본키는 후보키 중 선정, 나머지는 대체키

틀린 이유(핵심 1줄)

  • 후보키의 ‘최소성’을 빠뜨림 + 선정 관계를 문장으로 못 씀

정리(다음엔 이렇게)

  • 후보키: 유일성 + 최소성 만족
  • 기본키(PK): 후보키 중 선정된 키
  • 대체키: 후보키 중 선정되지 못한 나머지

sqld 단답(암기 카드용)

  • 후보키=유일성+최소성 / PK=후보키 중 선택 / 대체키=남은 후보키

예시 6) 서브쿼리 위치에 따른 의미 착각 (문장해석형)

[문제 요지] WHERE절 서브쿼리 vs FROM절 인라인 뷰 차이
내가 고른 답: 똑같다(표현만 다름)
정답: 의미/최적화/결과 형태가 달라질 수 있고, FROM은 “가상 테이블”로 확장

틀린 이유(핵심 1줄)

  • 서브쿼리를 “그냥 안에 넣는 거”로만 생각함

정리(다음엔 이렇게)

  • WHERE: 필터 조건(스칼라/IN/EXISTS 등)
  • FROM: 인라인 뷰(가상 테이블), 조인/집계 결과를 먼저 만들어 놓고 바깥에서 사용
  • 체크포인트: “문제가 ‘가상 테이블’/‘인라인 뷰’라고 말하면 FROM”

서브노트 문장(1줄)

  • FROM 서브쿼리=인라인뷰(가상테이블), WHERE 서브쿼리=조건 필터(IN/EXISTS 등)

‘틀린 이유’를 잘 쓰는 사람들의 공통 공식 4가지

오답노트는 길게 쓰는 게 아니라 정확하게 쓰는 게임이에요.
아래 4가지를 체크하면 퀄리티가 확 달라집니다.

1) “몰라서” 금지 → 구체 원인으로 바꾸기

  • ❌ 몰라서 틀림
  • JOIN 보존 방향을 INNER로 착각
  • COUNT(col) NULL 제외 규칙 누락

2) 트리거(자동반응)를 찾아서 적기

  • “조건절=WHERE” 같은 자동반응이 있거든요.
    이걸 적어야 다음에 멈춥니다.

3) 다음 행동을 ‘체크포인트’로 고정하기

  • “다음엔 조심” 말고
  • ✅ “AVG가 조건절에 있으면 HAVING부터 확인” 처럼 행동 규칙으로.

4) 서브노트로 1줄 이관하기

오답노트가 쌓이면 다시 보기 힘들어요.
그래서 오답에서 진짜 규칙만 뽑아 sqld 요약 서브노트로 보내야 합니다.


오답노트 구성 추천: 페이지를 이렇게 나누면 복습이 빨라져요

아래처럼 “정리 위치”를 고정하면, 시험 직전에 흔들리지 않아요.

구분 목적 내용 회독 타이밍
sqld 오답노트 실수 원인 교정 문제/정답/틀린 이유/체크포인트 1~2회독
sqld 요약 서브노트 규칙 압축 오답에서 추출한 1줄 규칙 3~5회독, 시험 전날
sqld 단답 용어/정의 고정 최소성/유일성/정규화 단계 등 매일 10분

sqld 답안지(정답 체크) 활용법: “표시”를 이렇게 하세요

문제를 풀고 채점할 때, 답안지에는 정답만 쓰지 말고 표시 규칙을 통일하세요.

  • ◎ : 완전 확실(설명 가능)
  • ○ : 맞았지만 찜찜(근거 약함)
  • △ : 찍어서 맞음(사실상 오답)
  • ✕ : 오답

그리고 오답노트에는 △와 ✕만 옮깁니다.
○는 “근거 보완용”으로 짧게만 적고요.
이렇게 해야 오답노트가 비대해지지 않아요.


시험 직전용 “요약 서브노트” 예시(그대로 가져가세요)

아래는 실제로 시험 전에 보면 좋은 1줄 규칙들입니다.

SQL 핵심 1줄

  • 집계 조건은 HAVING, 원본 행 조건은 WHERE
  • COUNT(*)=행 수, COUNT(col)=NULL 제외
  • LEFT JOIN은 왼쪽 생존(매칭 없으면 오른쪽 NULL)
  • DISTINCT는 중복 제거(정렬 아님)
  • NULL 비교는 = NULL이 아니라 IS NULL
  • EXISTS는 “존재 여부”, IN은 “목록 포함”(NULL/중복 이슈 주의)

모델링/정규화 1줄

  • 2NF=부분함수종속 제거, 3NF=이행함수종속 제거
  • 후보키=유일성+최소성, PK=후보키 중 선택, 대체키=남은 후보키
  • 엔터티=업무상 관리 대상, 속성=의미 있는 최소 데이터 단위
  • 관계 차수(1:1, 1:N, N:M)와 선택성(필수/선택) 문장으로 말할 수 있어야 함

자주 하는 실수 TOP7 체크리스트(오답노트에 붙여두기)

  • WHERE/HAVING 뒤집음
  • JOIN 보존 방향 착각(LEFT/RIGHT)
  • NULL 집계 규칙(COUNT/AVG) 헷갈림
  • GROUP BY 컬럼 누락/과잉
  • 정규화 단계(2NF/3NF/BCNF) 제거 대상 혼동
  • 후보키 최소성 빠뜨림
  • 서브쿼리 위치 의미(FROM 인라인뷰 vs WHERE 필터) 혼동

이 체크리스트에서 내가 자주 틀리는 2~3개에 형광펜 치고, 그 파트만 오답노트에 더 빡세게 쓰면 점수 올라가는 속도가 빨라요.


Q&A

Q1. 오답노트는 몇 문제 정도가 적당해요?

틀린 문제를 전부 옮기기보다, △(찍맞) + ✕(오답) 중심으로 옮기는 게 효율적이에요.
목표는 “양”이 아니라 같은 유형 재발 방지라서, 오답 개수가 줄어드는 게 오히려 좋은 신호예요.

Q2. ‘틀린 이유’를 뭐라고 써야 할지 막막해요.

가장 쉬운 방법은 이 문장 틀을 쓰는 거예요.

  • “나는 (A)를 (B)로 착각했다.”
  • “나는 (조건/키워드)를 보면 자동으로 (잘못된 반응)을 한다.”
    예: “집계가 나오면 HAVING인데, 조건절만 보면 WHERE로 자동반응했다.”

Q3. sqld 단답은 어떻게 외워야 오래가요?

단답은 길게 쓰면 안 외워져요.
‘정의 1줄 + 구분 포인트 1개’만 적고, 소리 내서 말해보세요.
예: “후보키는 유일성+최소성. PK는 후보키 중 선택, 나머지는 대체키.”
말로 술술 나오면 시험장에서 흔들릴 일이 거의 없어요.


마무리: 오답노트는 ‘공부 기록’이 아니라 ‘실수 방지 시스템’

SQLD는 “어느 날 갑자기 실력이 튀는 시험”이라기보다,
같은 함정에서 덜 빠지게 되는 시험이에요.

오늘 글의 핵심은 하나입니다.
정답을 적지 말고, 내가 틀리는 이유를 ‘문장’으로 고정하세요.
그 문장들이 쌓이면, 그게 바로 여러분만의 sqld 요약 서브노트가 되고, 마지막엔 합격 점수를 밀어줍니다.

댓글