PaliSkill
← SQL avancé

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 l'attestation finale.

8 500 XOF / 12,96 € / 14,12 $

Débloquez les 87 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.