PaliSkill
SQL avancé

Leçon 8 / 9 — Chapitre 10: Mise en pratique : ressources humaines

JSON : des compétences flexibles par collaborateur

Comme au chapitre 7, le type JSON convient à une information dont la forme varie d'un collaborateur à l'autre — ici, la liste de compétences et l'expérience, potentiellement différentes pour chacun.

SELECT nom,
  '{"langages": ["SQL", "Python"], "annees_experience": 5}'::json ->> 'annees_experience' AS experience
FROM collaborateurs WHERE id = 4;

Pour Ibrahim (id 4), cette structure JSON illustrative donne, via ->>, le texte '5' pour annees_experience. ->'langages' (avec une seule flèche) renverrait, lui, ["SQL", "Python"] au format JSON — un tableau, pas une valeur simple à extraire directement en texte de la même façon.

À retenir :

  • Une information dont la structure varie selon la ligne (ici, un nombre de compétences différent par collaborateur) est un bon candidat pour une colonne JSON plutôt que plusieurs colonnes fixes.
  • ->> reste adapté pour extraire une valeur simple (texte ou nombre) ; une valeur elle-même composée (comme un tableau JSON) se manipule différemment, avec -> et les fonctions JSON dédiées.

À vous de jouer : que retournerait '{"langages": ["SQL", "Python"], "annees_experience": 5}'::json ->> 'langages'; — une valeur simple, ou une structure plus complexe convertie en texte ?

🔒

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