Logo Wand.Tools

Générateur de CASE SQL

Utilisez l'IA pour générer des instructions CASE pour la logique conditionnelle en SQL

Tutoriel SQL CASE

Tutoriel SQL CASE

L’instruction SQL CASE est utilisée pour implémenter une logique conditionnelle dans les requêtes SQL. Elle vous permet d’effectuer différentes actions en fonction de conditions spécifiques. Ce tutoriel vous guidera à travers la syntaxe et l’utilisation de l’instruction CASE avec des exemples pratiques.

Syntaxe

La syntaxe de base de l’instruction CASE est la suivante :

CASE
    WHEN condition1 THEN résultat1
    WHEN condition2 THEN résultat2
    ...
    ELSE résultat_par_défaut
END
  • condition1, condition2, …: Ce sont les conditions évaluées dans l’ordre.
  • résultat1, résultat2, …: Le résultat retourné si la condition correspondante est vraie.
  • résultat_par_défaut: Le résultat retourné si aucune des conditions n’est vraie (optionnel).

Exemple 1 : CAS simple

Supposons que vous avez une table employees avec les colonnes id, name et salary. Vous souhaitez catégoriser les employés en fonction de leur salaire :

SELECT 
    name,
    salary,
    CASE
        WHEN salary > 100000 THEN 'Élevé'
        WHEN salary BETWEEN 50000 AND 100000 THEN 'Moyen'
        ELSE 'Faible'
    END AS salary_category
FROM employees;

Cette requête retournera le nom, le salaire et une nouvelle colonne salary_category qui catégorise le salaire de chaque employé comme ‘Élevé’, ‘Moyen’ ou ‘Faible’.

Exemple 2 : CAS dans ORDER BY

Vous pouvez également utiliser l’instruction CASE dans la clause ORDER BY pour trier les résultats en fonction d’une logique conditionnelle :

SELECT 
    name,
    salary
FROM employees
ORDER BY 
    CASE
        WHEN salary > 100000 THEN 1
        WHEN salary BETWEEN 50000 AND 100000 THEN 2
        ELSE 3
    END;

Cette requête triera d’abord les employés avec un salaire élevé, suivis de ceux avec un salaire moyen et faible.

Exemple 3 : CAS dans UPDATE

L’instruction CASE peut également être utilisée dans une instruction UPDATE pour mettre à jour les enregistrements de manière conditionnelle :

UPDATE employees
SET salary = 
    CASE
        WHEN salary < 50000 THEN salary * 1.1
        WHEN salary BETWEEN 50000 AND 100000 THEN salary * 1.05
        ELSE salary
    END;

Cette requête augmentera le salaire des employés de 10% si leur salaire est inférieur à 50 000, de 5% si leur salaire est compris entre 50 000 et 100 000, et le laissera inchangé sinon.

Conclusion

L’instruction SQL CASE est un outil puissant pour implémenter une logique conditionnelle dans vos requêtes. Elle peut être utilisée dans les clauses SELECT, UPDATE, ORDER BY et autres pour rendre vos requêtes SQL plus flexibles et dynamiques. Pratiquez l’utilisation de l’instruction CASE avec différents scénarios pour en comprendre pleinement le potentiel.