Sobes.tech
Middle

Comment travailler avec NULL en SQL?

sobes.tech IA

Réponse de l'IA

En SQL, NULL signifie l'absence de valeur et doit être traité de manière spéciale:

  • Comparaisons avec NULL : Les opérateurs =, <> ne fonctionnent pas avec NULL comme avec une valeur normale. Par exemple, column = NULL retourne toujours FALSE.

  • Vérification de NULL : Utilisez IS NULL ou IS NOT NULL pour vérifier la présence ou l'absence d'une valeur.

  • Gestion dans les agrégats : Les fonctions comme COUNT(column) n'incluent pas NULL, tandis que COUNT(*) compte toutes les lignes.

  • Fonctions pour remplacer NULL : COALESCE(column, default_value) retourne la première valeur non-NULL de la liste.

  • Jointures de tables : Lors d'un JOIN, les lignes avec NULL dans les champs clés peuvent ne pas correspondre, ce qui influence le résultat. Par exemple, un INNER JOIN exclura ces lignes, tandis qu'un LEFT JOIN les conservera avec NULL dans les champs de la table jointe.

Exemple:

SELECT
  user_id,
  COALESCE(email, 'no-email@example.com') AS email_address
FROM users
WHERE last_login IS NOT NULL;

Ici, nous remplaçons NULL dans le champ email par une adresse par défaut et sélectionnons uniquement les utilisateurs avec une date de dernière connexion connue.