Menu
Coddy logo textTech

NULLIF와 IIF

Coddy SQL 여정의 심화 과정 섹션에 포함된 레슨 — 27개 중 4번째.

작고 유용한 두 가지 조건부 헬퍼를 더 소개합니다.

NULLIF(a, b)a = b일 때 NULL을 반환하고, 그렇지 않으면 a를 반환합니다. 전형적인 사용 사례는 0으로 나누는 것을 방지하는 것입니다:

SELECT total / NULLIF(count, 0) AS average
FROM stats

count가 0이면 에러 대신 NULL을 얻습니다.

IIF(cond, a, b)CASE WHEN cond THEN a ELSE b END의 두 분기 단축형입니다. 선택지가 두 가지일 때 이것을 사용하고, 분기가 더 많을 때는 CASE를 사용하세요.

challenge icon

챌린지

쉬움

사용 가능한 테이블 및 컬럼:

  • <strong>matches</strong>: <strong>id</strong>, <strong>shots</strong>, <strong>goals</strong>

각 경기(match)에 대해 다음을 반환하세요:

  • id
  • conversion: goals * 1.0 / shots, 단 shots0인 경우 NULL (NULLIF를 사용하세요)
  • verdict: goals > 0일 때 'win', 그렇지 않으면 'no goals' (IIF를 사용하세요)

id를 기준으로 정렬하세요.

치트 시트

NULLIF(a, b)a = b일 때 NULL을 반환하고, 그렇지 않으면 a를 반환합니다. 0으로 나누는 것을 방지하는 데 유용합니다:

SELECT total / NULLIF(count, 0) AS average
FROM stats

IIF(cond, a, b)는 두 개의 분기를 가진 CASE문의 단축형입니다:

SELECT IIF(goals > 0, 'win', 'no goals') AS verdict
FROM matches

직접 해보기

SELECT id,
       -- NULLIF를 사용한 변환
       -- IIF를 사용한 판정
FROM matches
ORDER BY id
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

심화 과정의 모든 레슨