Files
sql/exercices.md
2025-08-28 07:13:19 +02:00

2.9 KiB
Raw Blame History

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

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