L'affirmation correcte concernant l'instruction SQL CASE est qu'elle est "un moyen d'établir un IF-THEN-ELSE en SQL". Cette instruction est en fait de la plus haute importance, car elle permet d'implémenter des conditions dans vos requêtes SQL.
Qu'est-ce que l'instruction SQL CASE?
L'instruction CASE en SQL est un moyen fantastique d'ajouter de la logique de décision à vos requêtes. Elle peut être utilisée dans n'importe quelle clause ou instruction SQL, comme WHERE, SELECT, UPDATE, DELETE, etc.
Comment fonctionne l'instruction SQL CASE?
L'instruction SQL CASE fonctionne comme une série d'instructions IF-THEN-ELSE. Elle parcourt les conditions fournies et retourne une valeur lorsque la première condition est rencontrée (comme un IF-THEN-ELSE). Si aucune condition n'est trouvée, elle retourne une valeur dans la clause ELSE. Si aucune clause ELSE n'est spécifiée, et qu'aucune condition n'est trouvée, elle retourne NULL.
Voici un exemple générique de son utilisation :
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result
END;
Application pratique de l'instruction SQL CASE
Supposons que nous avons une table appelée 'Étudiants' qui contient des colonnes 'Notes' et 'Récompenses'. Nous voulons attribuer des récompenses en fonction de la tranche de notes. Nous pouvons utiliser l'instruction SQL CASE pour accomplir cela :
UPDATE Étudiants
SET Récompenses =
CASE
WHEN Notes >= 90 THEN 'Excellence'
WHEN Notes >= 80 THEN 'Distinction'
ELSE 'Participation'
END;
Dans cet exemple, l'instruction SQL CASE vérifie chaque étudiant. Si leur note est supérieure ou égale à 90, ils reçoivent la récompense 'Excellence'. Sinon, si leur note est supérieure ou égale à 80, ils reçoivent la récompense 'Distinction'. Si aucune de ces conditions n'est remplie, ils reçoivent simplement une récompense 'Participation'.
Suite à ces explications, on peut conclure que l'instruction SQL CASE est essentielle pour apporter une certaine flexibilité à nos requêtes SQL et pour manipuler nos données de manière plus conditionnelle et donc plus précise. Elle est en quelque sorte l'équivalent SQL des instructions conditionnelles que l'on retrouve dans la plupart des langages de programmation.