Leçon 8 / 9 — Chapitre 7: CTE récursive et structures avancées
ARRAY_AGG et UNNEST
ARRAY_AGG est une fonction d'agrégation, comme STRING_AGG (vu au chapitre 1) — mais elle produit un tableau plutôt qu'une chaîne de texte assemblée.
SELECT statut, ARRAY_AGG(nom ORDER BY id) AS noms
FROM clients
GROUP BY statut;
Pour le groupe inactif (clients 3 et 6) : ARRAY_AGG renvoie {Nina, Sophie}, un tableau à 2 éléments — là où STRING_AGG aurait renvoyé le texte 'Nina, Sophie'.
UNNEST fait l'opération inverse : elle éclate un tableau en plusieurs lignes, une par élément.
SELECT UNNEST(ARRAY['a', 'b', 'c']) AS valeur;
→ 3 lignes : 'a', 'b', 'c'.
À retenir :
ARRAY_AGG(colonne)agrège plusieurs lignes en un seul tableau, exactement commeSTRING_AGGagrège en une seule chaîne de texte.UNNEST(tableau)fait l'inverse : elle transforme un tableau en plusieurs lignes, une par élément.ARRAY_AGGpuisUNNESTsur son résultat redonnent (dans un ordre non garanti sansORDER BYexplicite) l'ensemble de lignes de départ.
À vous de jouer : combien de lignes retourne SELECT UNNEST(ARRAY[10, 20, 30]); ?
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