EXERCICES CORRIGES BASE DE DONNEE | EXERCICE CORRIGE SQL

Exercice SQL : Machine A Café

L'entreprise PandaCodeur possède une machine à café dans sa salle de pause, qui permet à ses employés de prendre un café. La machine a un nombre limité de tasses et de types de boissons possibles. Voici la représentation simplifiée de la base de données :

Boisson (ID, Nom, Prix)

Tasse (ID, Volume)

Commande (ID, #TasseID, #BoissonID, Quantité, DateCommande)

  1. Afficher la liste des boissons disponibles et leur prix.
  2. Afficher la liste des tasses disponibles avec leur volume.
  3. Afficher la liste des commandes effectuées, avec le nom de la boisson, le volume de la tasse, la quantité, le prix unitaire et le prix total de chaque commande, classées par date.
  4. Afficher le chiffre d'affaires total généré par la machine à café.
  5. Afficher le nombre total de tasses commandées, en regroupant par volume de tasse.
  6. Afficher la boisson la plus commandée, ainsi que la quantité totale commandée de cette boisson.
  7. Afficher la moyenne des prix des boissons commandées.

Correction : SQL

1-- Afficher la liste des boissons disponibles et leur prix.

SELECT Nom, Prix FROM Boisson;
2-- Afficher la liste des tasses disponibles avec leur volume.

SELECT ID, Volume FROM Tasse;
3-- Afficher la liste des commandes effectuées, avec le nom de la boisson, le volume de la tasse, la quantité, le prix unitaire et le prix total de chaque commande, classées par date.

SELECT B.Nom, T.Volume, C.Quantité, B.Prix, B.Prix * C.Quantité AS 'Prix total', C.DateCommande
FROM Commande C
INNER JOIN Boisson B ON C.#BoissonID = B.ID
INNER JOIN Tasse T ON C.#TasseID = T.ID
ORDER BY C.DateCommande;
4-- Afficher le chiffre d'affaires total généré par la machine à café.

SELECT SUM(B.Prix * C.Quantité) AS 'Chiffre d\'affaires total'
FROM Commande C
INNER JOIN Boisson B ON C.#BoissonID = B.ID;
5-- Afficher le nombre total de tasses commandées, en regroupant par volume de tasse.

SELECT T.Volume, SUM(C.Quantité) AS 'Nombre total de tasses commandées'
FROM Commande C
INNER JOIN Tasse T ON C.#TasseID = T.ID
GROUP BY T.Volume;
6-- Afficher la boisson la plus commandée, ainsi que la quantité totale commandée de cette boisson.

SELECT B.Nom AS 'Boisson la plus commandée', SUM(C.Quantité) AS 'Quantité totale commandée'
FROM Commande C
INNER JOIN Boisson B ON C.#BoissonID = B.ID
GROUP BY B.Nom
ORDER BY SUM(C.Quantité) DESC
LIMIT 1;
7-- Afficher la moyenne des prix des boissons commandées.

SELECT AVG(Prix) AS 'Moyenne des prix des boissons commandées'
FROM Boisson B
INNER JOIN Commande C ON C.#BoissonID = B.ID;

Si vous avez trouvé les exercices corrigés en SQL de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 658395978 | Réaliser Par Joël_Yk

  • Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam