XamSQL — la salle de sport SQL des francophones

Avancé · 25 min

CASE & logique conditionnelle : traduire les regles métier

Les regles métier (seuil de reussite, categorie de salaire, niveau de risque) se traduisent directement en SQL avec CASE WHEN.

Contexte

Les regles métier (seuil de reussite, categorie de salaire, niveau de risque) se traduisent directement en SQL avec CASE WHEN. C'est la base de la transformation des données brutes en indicateurs métier.

Explication

CASE WHEN permet de creer une colonne conditionnelle.

Syntaxe : SELECT ..., CASE WHEN condition1 THEN valeur1 WHEN condition2 THEN valeur2 ELSE valeur_par_defaut END AS alias FROM ...;

Points cles :

Exemple guidé

Objectif : categoriser les notes en appréciation.

1. CASE WHEN note >= 16 THEN 'Excellent' 2. WHEN note >= 12 THEN 'Bien' 3. WHEN note >= 10 THEN 'Moyen' 4. ELSE 'Insuffisant'

SELECT id, note,
       CASE WHEN note >= 16 THEN 'Excellent'
            WHEN note >= 12 THEN 'Bien'
            WHEN note >= 10 THEN 'Moyen'
            ELSE 'Insuffisant'
       END AS appreciation
FROM notes
ORDER BY note DESC;
idnoteappreciation
1218Excellent
917.5Excellent
516.5Excellent
1316Excellent
715.5Bien
615Bien
2515Bien
1414.5Bien
314Bien
2214Bien
2013.5Bien
2313.5Bien
813Bien
2612.5Bien
112Bien
1712Bien
1812Bien
1511.5Moyen
2411Moyen
1110.5Moyen
410Moyen
2110Moyen
109.5Insuffisant
199Insuffisant
28.5Insuffisant
168Insuffisant
277.5Insuffisant

À retenir

CASE WHEN permet de creer des categories ou des indicateurs métier. Il peut etre utilise dans SELECT, WHERE, ORDER BY, HAVING. Imbricable et utilisable dans les agrégats (COUNT CASE WHEN...). ELSE optionnel (NULL par defaut).

Exercices de cette leçon

Faire les exercices →