Menu
Coddy logo textTech

NULLIF et IIF

Fait partie de la section Au-delà des bases du Journey SQL de Coddy — leçon 4 sur 27.

Deux autres helpers conditionnels, tous deux petits et utiles.

NULLIF(a, b) retourne NULL quand a = b, sinon a. L'utilisation classique consiste à se protéger contre la division par zéro :

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

Si count vaut zéro, nous obtenons NULL au lieu d'une erreur.

IIF(cond, a, b) est un raccourci à deux branches pour CASE WHEN cond THEN a ELSE b END. Utilisez-le lorsque le choix est binaire ; utilisez CASE lorsqu'il y a plus de branches.

challenge icon

Défi

Facile

Tables et colonnes disponibles :

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

Pour chaque match, retournez :

  • id
  • conversion : goals * 1.0 / shots, mais NULL quand shots est 0 (utilisez NULLIF)
  • verdict : 'win' quand goals > 0, sinon 'no goals' (utilisez IIF)

Triez par id.

Aide-mémoire

NULLIF(a, b) retourne NULL quand a = b, sinon retourne a. Utile pour éviter la division par zéro :

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

IIF(cond, a, b) est un raccourci pour un CASE à deux branches :

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

Essayez vous-même

SELECT id,
       -- conversion avec NULLIF
       -- verdict avec IIF
FROM matches
ORDER BY id
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Au-delà des bases