NULLIF와 IIF
Coddy SQL 여정의 심화 과정 섹션에 포함된 레슨. 27개 중 4번째.
작지만 유용한 조건부 도우미 두 가지를 더 살펴보겠습니다.
NULLIF(a, b)는 a = b일 때 NULL을 반환하고, 그렇지 않으면 a를 반환합니다. 가장 대표적인 사용 사례는 0으로 나누는 것을 방지하는 것입니다:
SELECT total / NULLIF(count, 0) AS average
FROM statscount가 0이면 오류 대신 NULL을 얻습니다.
IIF(cond, a, b)는 CASE WHEN cond THEN a ELSE b END를 두 갈래로 간단히 표현한 것입니다. 선택지가 둘일 때는 이를 사용하고, 선택지가 더 많을 때는 CASE를 사용하세요.
챌린지
쉬움사용 가능한 테이블 및 열:
matches:id,shots,goals
각 경기마다 다음을 반환하세요:
idconversion:goals * 1.0 / shots. 단,shots가0이면NULL입니다(NULLIF사용).verdict:goals > 0이면'win', 그렇지 않으면'no goals'입니다(IIF사용).
id를 기준으로 정렬하세요.
직접 해보기
SELECT id,
-- NULLIF를 사용한 변환
-- IIF를 사용한 판정
FROM matches
ORDER BY id
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
심화 과정의 모든 레슨
직접 연습해 보세요: SQL 플레이그라운드