← SQL avancé
Leçon 9 / 9 — Chapitre 1: Fonctions texte approfondies
Cas pratique : rapport de noms normalisés par statut
Ce cas pratique combine agrégation de texte et imbrication de fonctions — les notions de ce chapitre.
SELECT statut,
STRING_AGG(CONCAT(UPPER(SUBSTR(nom, 1, 1)), LOWER(SUBSTR(nom, 2))), ', ' ORDER BY id) AS noms_normalises
FROM clients
GROUP BY statut;
Étape par étape :
- Pour chaque ligne,
CONCAT(UPPER(SUBSTR(nom,1,1)), LOWER(SUBSTR(nom,2)))normalise le nom en casse Titre (LUCAS → Lucas, noé → Noé, les autres restant inchangés). GROUP BY statutforme 2 groupes : actif (clients 1, 2, 4, 5) et inactif (clients 3, 6).STRING_AGG(..., ', ' ORDER BY id)assemble les noms normalisés de chaque groupe, dans l'ordre desid.
Résultat : actif → 'Emma, Lucas, Noé, Emma' ; inactif → 'Nina, Sophie'.
À retenir :
- Une fonction d'agrégation comme
STRING_AGGpeut recevoir le résultat d'une expression imbriquée, pas seulement une colonne brute. - Normaliser d'abord chaque valeur (ligne par ligne), puis agréger ensuite (groupe par groupe), est l'ordre logique le plus naturel pour ce genre de rapport.
À vous de jouer : le nom normalisé 'Noé' apparaît-il dans le groupe inactif, ou uniquement dans le groupe actif ?
🔒
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 80 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès