Exercice 2

This commit is contained in:
2025-08-28 07:13:19 +02:00
parent bd64e734bf
commit f067959843
7 changed files with 122 additions and 66 deletions

65
exercices.md Normal file
View File

@@ -0,0 +1,65 @@
# Exercices
## Schéma
Clients : id_client, nom, ville
Familles : id_famille, nom_famille
Produits : id_produit, nom_produit, prix_unitaire, id_famille
Tickets : id_ticket, date_vente, id_client
LignesTicket : id_ligne, id_ticket, id_produit, quantite, prix_unitaire
## Environnement
### Construire l'image
```shell
docker build -t iut/pgsql:2025-08 .
```
## Serie 1
- 1 : Quel est le nombre total de tickets enregistrés dans la base ?
- 2 : Calculer le chiffre daffaires global.
- 3 : Pour chaque client, afficher son nom et le nombre de tickets quil a effectués.
- 4 : Calculer le montant moyen dun ticket (total ventes ÷ nombre de tickets).
- 5 : Afficher le produit le plus cher et le produit le moins cher (avec leur prix).
- 6 : Pour chaque famille de produits, afficher le nom de la famille et le nombre de produits associés.
- 7 : Afficher, pour chaque mois, le chiffre daffaires réalisé.
- 8 : Trouver le client qui a dépensé le plus en montant total.
- 9 : Afficher le produit ayant généré le plus de ventes en quantité totale vendue.
- 10 : Pour chaque famille, afficher le montant total des ventes.
## Série 2
- 1 : Lister tous les tickets avec le nom du client. Afficher uniquement les tickets qui ont un client existant.
- 2 : Lister tous les clients et le nombre de tickets associés, même les clients qui nont pas encore de ticket doivent apparaître (avec 0).
- 3 : Lister tous les tickets, avec le nom du client sil existe. Si un ticket a perdu sa référence client (valeur orpheline), il doit tout de même apparaître.
- 4 : Lister tous les clients et tous les tickets, même si la correspondance nexiste pas. Union des clients sans tickets et des tickets sans clients.
- 5 : Lister uniquement les clients qui ont acheté au moins un produit.
- 6 : Lister les clients qui nont jamais acheté de produit.
- 7 : Lister les produits avec leur famille, même si certains produits nont pas de famille renseignée.
- 8 : Lister tous les couples de clients qui habitent dans la même ville.
- 9 : Lister toutes les combinaisons possibles de familles et de clients (sans condition de jointure).
- 10 : Lister les tickets contenant au moins un produit de la famille "Boissons".
Exercice — CROSS JOIN
Lister toutes les combinaisons possibles Client × Famille (même si elles nexistent pas en vrai).
Exercice 7 — Agrégation + JOIN
Pour chaque famille de produits, calculer le montant total des ventes.
Exercice 8 — SELF JOIN
Lister les couples de clients qui ont acheté au moins un produit en commun.
Exercice 9 — Jointure imbriquée
Lister les clients qui ont acheté des produits dune famille donnée (ex: "Boissons").
Exercice 10 — Différence densembles
Lister les clients qui nont jamais acheté de produit dune famille donnée.
Exercice 11 — Différence densembles (ANTI-JOIN) — clients nayant jamais acheté cette famille