PaliSkill
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 :

  1. 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).
  2. GROUP BY statut forme 2 groupes : actif (clients 1, 2, 4, 5) et inactif (clients 3, 6).
  3. STRING_AGG(..., ', ' ORDER BY id) assemble les noms normalisés de chaque groupe, dans l'ordre des id.

Résultat : actif → 'Emma, Lucas, Noé, Emma' ; inactif → 'Nina, Sophie'.

À retenir :

  • Une fonction d'agrégation comme STRING_AGG peut 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