SQLDSQL 기본NULL 처리난이도 3MCQ

SQLD NULL 처리 기출문제 #3582

문제

다음 중 결과가 다른 것은?

① CASE 칼럼 WHEN NULL THEN -1 ELSE 0 END ② CASE WHEN 칼럼 IS NULL THEN -1 ELSE 0 END ③ DECODE(칼럼, NULL, -1, 0) ④ NVL(칼럼, -1)

정답

1

해설

정답: 1. CASE 칼럼 WHEN NULL은 = NULL 비교와 유사하게 동작하므로 NULL을 정상적으로 판별하지 못한다.

오답 풀이

  • 1번: NULL 비교를 WHEN NULL 형태로 처리하면 원하는 NULL 판별이 되지 않아 결과가 다르다.
  • 2번: IS NULL을 사용하므로 NULL이면 -1을 반환한다.
  • 3번: Oracle의 DECODE는 NULL 비교를 같은 값으로 처리할 수 있어 NULL이면 -1을 반환한다.
  • 4번: NVL(칼럼, -1)은 칼럼이 NULL이면 -1을 반환한다.

보충 개념 SQL에서 NULL은 = 연산자로 비교할 수 없고 IS NULL을 사용해야 한다. Oracle DECODE는 일반 비교와 달리 NULL을 같은 값으로 취급하는 특성이 있다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] NULL 처리 SQL 기본 기출 #3582 | 문어CBT