Lorsque vous manipulez des données en SQL, il est important d’effectuer des opérations spécifiques sur les valeurs NULL. En utilisant les instructions CASE, il devient possible de spécifier des conditions pour les valeurs NULL, permettant une manipulation flexible des données. Cet article explique comment gérer les valeurs NULL en utilisant des instructions CASE en SQL avec des exemples concrets.
Structure de base des instructions CASE
L’instruction CASE est une structure de contrôle en SQL qui peut renvoyer différents résultats en fonction des conditions spécifiées. La syntaxe de base est la suivante :
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
Dans cette syntaxe, le résultat correspondant result
est renvoyé lorsque chaque condition condition
est remplie. Si aucune des conditions n’est remplie, le résultat de la clause ELSE
est renvoyé. En utilisant les instructions CASE, une ramification conditionnelle complexe peut être implémentée dans les requêtes SQL.
Comment spécifier les valeurs NULL
Pour spécifier les valeurs NULL comme conditions, utilisez IS NULL
dans l’expression conditionnelle. Il est important de distinguer les valeurs NULL car elles indiquent l’absence de données spécifiques. La syntaxe suivante démontre comment renvoyer une valeur spécifique lorsque la colonne column_name
est NULL.
CASE
WHEN column_name IS NULL THEN 'Value if NULL'
ELSE column_name
END
Dans cette syntaxe, si column_name
est NULL, 'Value if NULL'
est renvoyé, sinon la valeur de column_name
est renvoyée telle quelle. Cette méthode permet une gestion appropriée des valeurs NULL.
Exemple 1 : Définir des valeurs par défaut pour les NULL
Voici un exemple de définition d’une adresse email par défaut lorsque l’adresse email d’un client est NULL dans une base de données client. Cette opération aide à maintenir la cohérence des données.
SELECT
customer_id,
customer_name,
CASE
WHEN email IS NULL THEN 'default@example.com'
ELSE email
END AS email_address
FROM
customers;
Cette requête sélectionne l’ID client, le nom du client et l’adresse email de la table customers
. Si l’adresse email est NULL, 'default@example.com'
est renvoyée, et si elle n’est pas NULL, l’adresse email originale est renvoyée. En utilisant cette méthode, des valeurs par défaut cohérentes peuvent être définies pour les valeurs NULL.
Exemple 2 : Effectuer des opérations différentes en fonction des valeurs NULL
Ensuite, examinons un exemple d’exécution d’opérations différentes en fonction des valeurs NULL. Par exemple, dans une base de données de ventes, si le montant des ventes est NULL, il est affiché comme « Not Entered »; sinon, le montant des ventes est affiché.
SELECT
sale_id,
product_name,
CASE
WHEN sale_amount IS NULL THEN 'Not Entered'
ELSE CAST(sale_amount AS VARCHAR)
END AS sale_status
FROM
sales;
Cette requête sélectionne l’ID de la vente, le nom du produit et le statut de la vente de la table sales
. Si le sale_amount
est NULL, il est affiché comme « Not Entered », et s’il n’est pas NULL, le montant des ventes est affiché sous forme de chaîne. Cette méthode permet une gestion appropriée des valeurs NULL et améliore la lisibilité des données.
Conclusion
Nous avons expliqué comment gérer les valeurs NULL en utilisant les instructions CASE en SQL. En utilisant IS NULL
pour spécifier les valeurs NULL comme conditions, il est possible de définir des valeurs par défaut appropriées ou d’effectuer différentes opérations. Cela permet une manipulation flexible des données tout en maintenant la cohérence et la lisibilité des données. En tirant parti des instructions CASE dans les opérations de base de données, vous pouvez améliorer vos compétences en créant des requêtes plus avancées.