2.0 KiB
Exercice postgreSQL
Retirer le conteneur database (postgresql) et supprimer le volume associé
docker compose down 'database'
docker volume rm sql_database_data
Mettre à jour le projet
git pull origin
ou si nouveau projet
git clone https://sources.neotech.fr/Universite/sql.git
Construire l'image
docker build -t iut/pgsql:2025-12 -f postgresql.Dockerfile .
Renommer le fichier .env.example en .env
Composer le nouveau conteneur
docker compose up -d 'database' --build
JSON
Les opérateurs spécifiques JSON
| Opérateur | Description | Exemple |
|---|---|---|
| -> | Retourne un objet JSON | SELECT data->'additionalProperty' as propriété from item where id = 2509331; |
| ->> | Retourne du texte | SELECT data->>'name' AS name from item; |
| #> | Accès par chemin | SELECT data#>'{additionalProperty,groupe}' as propriété from item where id = 2509331 |
| #>> | Accès par chemin en texte | SELECT data#>>'{additionalProperty,groupe,manufacturer,name}' as propriété from item where id = 2509331 |
| @> | Test d'inclusion |
| Fonctions | Description |
|---|---|
| jsonb_array_elements | Extraction en table |
| jsonb_array_elements_text | Extraction en chaine de caractères |
| jsonb_each | Renvoie les paires clé/valeur d’un objet JSON |
| jsonb_object_keys | Liste des clés |
| jsonb_array_length | Taille d'un tableau |
Questions
Exemple de stucture du fichier json
-
Dans la table item lister les numéros sku et le nom du fabriquant (manufacturer).
-
Trouver tous les vélos de marque Cannondale
-
Filtrer les vélo dont la taille de cadre est M
-
Afficher le deuxième élément du tableau tailles pour chaque vélo.
-
Afficher le sku et pour chaque taille (dans geometry) la valeur du tube supérieur. Afficher 1 ligne par taille
-
Dans les commandes afficher le total de chaque commande
-
Combien de tailles pour le vélo dont le sku est 2489126
-
Extraire la liste des caractèristiques (uniquement le nom) pour le vélo dont le sku est 2489126