rendus postgreSQL

This commit is contained in:
2025-10-23 07:09:49 +02:00
parent 91c6158f73
commit 47c6303126
2 changed files with 70 additions and 0 deletions

53
exercice1.md Normal file
View File

@@ -0,0 +1,53 @@
# Exercice postgreSQL
Retirer le conteneur database (postgresql) et supprimer le volume associé
```shell
docker compose down 'database'
docker volume rm sql_database_data
```
Composer le nouveau conteneur
```shell
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 dun objet JSON
jsonb_object_keys|Liste des clés
jsonb_array_length|Taille d'un tableau
## Questions
1. Dans la table item lister les numéros sku et le fabriquant (manufacturer).
2. Trouver tous les vélos de marque Cannondale
3. Filtrer les vélo dont la taille de cadre est M
4. Afficher le deuxième élément du tableau tailles pour chaque vélo.
5. Afficher le sku et pour chaque taille (dans geometry) la valeur du tube supérieur. Afficher 1 ligne par taille
6. Dans les commandes afficher le total de chaque commande
7. Combien de tailles pour le vélo dont le sku est 2489126
8. Extraire la liste des caractèristiques (uniquement le nom) pour le vélo dont le sku est 2489126

View File

@@ -1,4 +1,21 @@
# Exercice MongoDB
```shell
docker compose up -d 'mongodb' --build
docker exec -it sql-mongodb-1 mongosh --username admin
```
Changer de base de données
```shell
use commerce
```
Faire une recherche
```
db.commandes.find()
```
1. le document dont la référence est 51943385-B