2026 SQLD 필기 1과목 2장 4~5절 | NULL·본질식별자·인조식별자 — 객관식 10문제

데이터위자드 ·

2026 SQLD 필기 1과목 2장 4~5절 | NULL·본질식별자·인조식별자 — 객관식 10문제

필기 · 객관식 4지선다

풀이 방법

객관식 4지선다입니다. 정답과 해설은 각 문제 아래를 눌러 확인하세요.

문제 1

NULL·본질식별자·인조식별자에서 NULL과 3값 논리에 대한 설명으로 옳은 것은?

  1. ① NULL = NULL은 항상 TRUE다.
  2. ② NULL 비교는 = NULL 대신 IS NULL을 사용한다.
  3. ③ NOT UNKNOWN은 TRUE다.
  4. ④ NULL은 언제나 숫자 0이다.
정답과 해설 보기

정답 ②

SQL의 조건은 TRUE·FALSE·UNKNOWN으로 판단됩니다. 값이 NULL이면 =10이나 <>10의 결과가 보통 UNKNOWN입니다. WHERE는 TRUE인 행만 통과시키므로 둘 다 NULL 행을 선택하지 않습니다. NULL 여부는 IS NULL 또는 IS NOT NULL로 검사합니다. NULL= NULL도 참이 아닙니다. 두 값이 모두 알려지지 않았다는 사실만으로 동일한 값이라고 확정할 수 없기 때문입니다. NULL이 섞인 조건에서 NOT을 붙여도 UNKNOWN이 TRUE로 바뀌지 않는다는 점을 기억하세요.

기억할 핵심

NULL 비교는 = NULL 대신 IS NULL을 사용한다.

문제 2

점수 값이 NULL인 행에 WHERE 점수 <> 60을 적용하면?

  1. ① 반드시 선택된다.
  2. ② NULL이 60으로 바뀐다.
  3. ③ 점수가 자동으로 0이 된다.
  4. ④ 그 행은 선택되지 않는다.
정답과 해설 보기

정답 ④

NULL과의 일반 비교는 UNKNOWN이므로 WHERE를 통과하지 않습니다.

기억할 핵심

NULL 비교는 = NULL 대신 IS NULL을 사용한다.

문제 3

NULL·본질식별자·인조식별자에서 집계 함수의 NULL 처리에 대한 설명으로 옳은 것은?

  1. ① COUNT(*)는 NULL이 있는 행을 모두 제외한다.
  2. ② COUNT(컬럼)은 항상 COUNT(*)와 같다.
  3. ③ AVG는 NULL을 제외한 값의 개수로 나눈다.
  4. ④ AVG는 NULL을 항상 0으로 넣는다.
정답과 해설 보기

정답 ③

COUNT(*)는 행 수를 세고 COUNT(컬럼)은 해당 값이 NULL이 아닌 행 수를 셉니다. SUM·AVG도 일반적으로 NULL을 제외합니다. 평균에서 NULL을 제외하는 것과 0으로 치환한 뒤 평균을 내는 것은 분모가 달라 결과가 다릅니다. 점수 10,NULL,20이면 AVG(점수)=15이고 AVG(COALESCE(점수,0))=10입니다. 결측을 실제 0점으로 볼 수 있는지 업무 의미를 먼저 정해야 합니다. 보기에서 합계는 같아도 평균이 달라지는 함정을 자주 만납니다.

기억할 핵심

AVG는 NULL을 제외한 값의 개수로 나눈다.

문제 4

금액이 10,NULL,20인 3행에서 COUNT(*), COUNT(금액), AVG(금액)은?

  1. ① 3, 2, 15
  2. ② 2, 3, 15
  3. ③ 3, 3, 10
  4. ④ 2, 2, 10
정답과 해설 보기

정답 ①

전체 행은 3개, 금액이 존재하는 행은 2개이며 평균은 (10+20)/2=15입니다.

기억할 핵심

AVG는 NULL을 제외한 값의 개수로 나눈다.

문제 5

NULL·본질식별자·인조식별자에서 NOT IN과 NULL 함정에 대한 설명으로 옳은 것은?

  1. ① NOT IN은 NULL을 언제나 자동 무시한다.
  2. ② NOT EXISTS는 반드시 NULL과 같은 결과다.
  3. ③ DISTINCT를 쓰면 모든 NULL 비교가 TRUE가 된다.
  4. ④ NOT IN의 비교 집합에 NULL이 있으면 UNKNOWN으로 인해 행이 제외될 수 있다.
정답과 해설 보기

정답 ④

NOT IN의 비교 목록에 NULL이 있으면 예상과 다른 결과가 나올 수 있습니다. x NOT IN (1,NULL)은 x<>1 AND x<>NULL과 연결되어 UNKNOWN이 남습니다. 2를 넣어도 TRUE AND UNKNOWN이므로 WHERE를 통과하지 않습니다. 제외 대상에 결측이 존재할 수 있으면 NOT EXISTS로 상관 조건을 명확히 쓰거나 서브쿼리에서 NULL을 제외하는 방법을 검토합니다. NULL 때문에 생긴 문제를 단순히 DISTINCT로 해결할 수는 없습니다.

기억할 핵심

NOT IN의 비교 집합에 NULL이 있으면 UNKNOWN으로 인해 행이 제외될 수 있다.

문제 6

WHERE 2 NOT IN (1, NULL)의 판정은?

  1. ① TRUE이므로 선택된다.
  2. ② 항상 문법 오류다.
  3. ③ 숫자 2가 1로 바뀐다.
  4. ④ UNKNOWN이므로 선택되지 않는다.
정답과 해설 보기

정답 ④

2<>1은 TRUE지만 2<>NULL은 UNKNOWN입니다. AND 결과가 UNKNOWN이므로 WHERE에서 제외됩니다.

기억할 핵심

NOT IN의 비교 집합에 NULL이 있으면 UNKNOWN으로 인해 행이 제외될 수 있다.

문제 7

NULL·본질식별자·인조식별자에서 본질식별자와 인조식별자에 대한 설명으로 옳은 것은?

  1. ① 인조키가 있으면 업무 중복은 자동으로 모두 차단된다.
  2. ② 본질식별자는 항상 단일 숫자다.
  3. ③ 인조키를 두어도 업무상 유일성 제약을 별도로 정의할 수 있다.
  4. ④ 문자열은 인조식별자가 될 수 없다.
정답과 해설 보기

정답 ③

본질식별자는 업무상 본래 의미를 가진 식별자이고 인조식별자는 시스템이 식별을 위해 부여한 번호입니다. 주문번호의 성격은 업무에서 원래 쓰던 번호인지 설계에서 만든 번호인지에 따라 판단해야 합니다. 단순히 숫자냐 문자열이냐로 구분하지 않습니다. 인조키는 참조를 간단히 하고 긴 복합키 전파를 줄일 수 있지만 업무 중복 검증을 대신하지 않습니다. 수강신청 ID가 각각 달라도 같은 학생이 같은 학기에 같은 과목을 두 번 신청하는 것이 금지라면 별도 UNIQUE가 필요합니다.

기억할 핵심

인조키를 두어도 업무상 유일성 제약을 별도로 정의할 수 있다.

문제 8

수강신청에 자동 ID를 추가했다. 동일 학생·과목·학기 중복을 막으려면?

  1. ① 학생번호·과목번호·학기의 UNIQUE 제약을 추가한다.
  2. ② 학생명을 NULL로 바꾼다.
  3. ③ ID가 다르므로 아무 제약이 필요 없다.
  4. ④ 외래키를 삭제한다.
정답과 해설 보기

정답 ①

자동 ID는 각 행을 구분하지만 업무상 중복 조합까지 차단하지는 않습니다.

기억할 핵심

인조키를 두어도 업무상 유일성 제약을 별도로 정의할 수 있다.

문제 9

NULL·본질식별자·인조식별자에서 키 선택과 이력 보존에 대한 설명으로 옳은 것은?

  1. ① 짧은 키면 업무 의미와 무관하게 언제나 최선이다.
  2. ② 업무키를 바꾸면 이전 이력은 항상 자동 복원된다.
  3. ③ 키를 고를 때 값의 안정성과 업무 중복 규칙을 함께 고려한다.
  4. ④ 식별자 변경은 참조 데이터에 영향이 없다.
정답과 해설 보기

정답 ③

업무키가 바뀔 수 있거나 길면 인조키의 장점이 커집니다. 반대로 인조키만 보고 업무 의미를 알기 어려워 추가 조인이 늘어날 수도 있습니다. 키 안정성·업무 유일성·참조 비용을 함께 비교해야 합니다. 삭제 후 재등록을 새 행으로 관리하는지, 같은 대상의 상태 변경으로 보는지도 모델에 영향을 줍니다. 이전 이력을 참조하는 데이터가 있다면 표시 이름이나 변경 가능한 코드만을 연결 기준으로 삼지 않도록 주의합니다.

기억할 핵심

키를 고를 때 값의 안정성과 업무 중복 규칙을 함께 고려한다.

문제 10

거래처의 표시 이름은 자주 바뀌고 동명이인도 있다. 안정적인 참조 기준은?

  1. ① 이름의 첫 글자만
  2. ② 조회 시 행 순번만
  3. ③ 화면에 보이는 현재 이름만
  4. ④ 변하지 않는 거래처 식별자
정답과 해설 보기

정답 ④

안정적인 식별자로 참조하고 표시 이름은 속성으로 관리해야 이름 변경과 중복을 처리하기 쉽습니다.

기억할 핵심

키를 고를 때 값의 안정성과 업무 중복 규칙을 함께 고려한다.

범위 확인

2026년 학습 범위를 기준으로 구성했습니다. 시험 시행기관의 자격 안내·출제 기준에서 과목과 변경 공지를 확인할 수 있습니다.

관련 이론 다시 보기

이전 · 정규화·조인·트랜잭션 모델

다음 · 관계형 DB와 SELECT·DISTINCT

SQLD 전체 목차

과목별 이론

단원별 객관식

실습

필기 모의고사

예상 모의문제입니다.

스터디클럽의 다른 강의 보기