Leçon 3 / 9 — Chapitre 9: Mise en pratique : e-commerce
STRING_AGG : commentaires par article
Comme au chapitre 1, STRING_AGG assemble les commentaires d'un même article en une seule chaîne — en excluant d'abord les avis sans commentaire.
SELECT article_id, STRING_AGG(commentaire, ' | ' ORDER BY id) AS commentaires
FROM avis
WHERE commentaire IS NOT NULL
GROUP BY article_id;
WHERE commentaire IS NOT NULL élimine d'abord les avis 3 et 6 (sans commentaire), avant tout regroupement. Pour l'article 2 (Lampe bureau), seul l'avis 8 reste ('Ne fonctionne pas') ; l'avis 3, sans commentaire, ne compte pas. Pour l'article 4 (Clavier), le seul avis (6) est sans commentaire : cet article n'apparaît même pas dans le résultat, faute de la moindre ligne restante après le WHERE.
À retenir :
- Filtrer les valeurs NULL avant
GROUP BY(plutôt que de les laisser dans le groupe) évite un résultat NULL ou incomplet pour STRING_AGG. - Un groupe dont toutes les lignes sont éliminées par le WHERE n'apparaît pas du tout dans le résultat final — ni avec une valeur vide, ni avec NULL.
À vous de jouer : l'article 4 (Clavier) apparaît-il dans ce résultat ? Justifiez à partir de son seul avis.
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