13 Exercices Sur Les Requêtes SQL Corrigé: Les vues
La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec SQL. Nous espérons que ces exercices vous aideront à améliorer vos compétences en SQL. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!
Vous pouvez lire notre tutoriel SQL avant de résoudre les exercices suivants.
Exercices Sur Les Requêtes SQL Corrigé: Les vues (views)
1. A partir de la table suivante, créez une vue pour les fournisseurs qui appartiennent à la ville « Paris ».
Table: fournisseurs +----------------+----------------+-------------+------------+ | fournisseur_id | nom_fr | ville | commission | +----------------+----------------+-------------+------------+ | 6001 | Arnaud Beaulac | Toulouse | 0.2 | | 6002 | Fauna Gaillard | Paris | 0.5 | | 6005 | Barry Cantin | Nice | 0.9 | | 6006 | Royce Guimond | Strasbourg | 0.6 | | 6007 | Fusberta Faure | Marseille | 0.8 | | 6003 | Ernest Petit | Montpellier | 0.1 | +----------------+----------------+-------------+------------+
2. À partir de la table suivante, créez une vue pour tous les fournisseurs. Renvoyez l’ID, le nom et la ville du fournisseur.
Table: fournisseurs +----------------+----------------+-------------+------------+ | fournisseur_id | nom_fr | ville | commission | +----------------+----------------+-------------+------------+ | 6001 | Arnaud Beaulac | Toulouse | 0.2 | | 6002 | Fauna Gaillard | Paris | 0.5 | | 6005 | Barry Cantin | Nice | 0.9 | | 6006 | Royce Guimond | Strasbourg | 0.6 | | 6007 | Fusberta Faure | Marseille | 0.8 | | 6003 | Ernest Petit | Montpellier | 0.1 | +----------------+----------------+-------------+------------+
3. A partir du table suivante, créez une vue qui compte le nombre de clients par âge.
Table: clients +-----------+----------------+-------------+--------+----------------+ | client_id | nom_cl | ville | age | fournisseur_id | +-----------+----------------+-------------+--------+----------------+ | 1001 | Alex Barbara | Paris | 25 | 6001 | | 1002 | Lois Collins | Lyon | 30 | 6001 | | 1005 | Karen Farley | Nice | 44 | 6002 | | 1006 | Kevin Thompson | Paris | 65 | 6003 | | 1007 | Scott Henry | Marseille | 32 | 6006 | | 1003 | Ellen McMullen | Montpellier | 53 | 6001 | +-----------+----------------+-------------+--------+----------------+
4. A partir de la table suivante, créez une vue pour compter le nombre de clients uniques, calculer la moyenne et le montant total des achats des commandes des clients pour chaque date.
Table: commandes +--------+----------------+-------------+-----------+----------------+ | cmd_id | montant_achat | date_cmd | client_id | fournisseur_id | +--------+----------------+-------------+-----------+----------------+ | 8001 | 125.02 | 2024-10-06 | 1005 | 6002 | | 8002 | 60.38 | 2024-02-22 | 1005 | 6002 | | 8003 | 95.65 | 2024-05-11 | 1002 | 6001 | | 8004 | 59.32 | 2024-12-22 | 1006 | 6003 | | 8005 | 74.33 | 2024-11-30 | 1006 | 6003 | | 8006 | 188.22 | 2024-01-05 | 1003 | 6001 | +--------+----------------+-------------+-----------+----------------+
5. À partir des tables suivantes, créez une vue permettant d’obtenir le nom du fournisseur et du client. Renvoyez l’ID de la commande, le montant de l’achat, l’ID et le nom du fournisseur, le nom du client.
Table: fournisseurs +----------------+----------------+-------------+------------+ | fournisseur_id | nom_fr | ville | commission | +----------------+----------------+-------------+------------+ | 6001 | Arnaud Beaulac | Toulouse | 0.2 | | 6002 | Fauna Gaillard | Paris | 0.5 | | 6005 | Barry Cantin | Nice | 0.9 | | 6006 | Royce Guimond | Strasbourg | 0.6 | | 6007 | Fusberta Faure | Marseille | 0.8 | | 6003 | Ernest Petit | Montpellier | 0.1 | +----------------+----------------+-------------+------------+
Table: clients +-----------+----------------+-------------+--------+----------------+ | client_id | nom_cl | ville | age | fournisseur_id | +-----------+----------------+-------------+--------+----------------+ | 1001 | Alex Barbara | Paris | 25 | 6001 | | 1002 | Lois Collins | Lyon | 30 | 6001 | | 1005 | Karen Farley | Nice | 44 | 6002 | | 1006 | Kevin Thompson | Paris | 65 | 6003 | | 1007 | Scott Henry | Marseille | 32 | 6006 | | 1003 | Ellen McMullen | Montpellier | 53 | 6001 | +-----------+----------------+-------------+--------+----------------+
Table: commandes +--------+----------------+-------------+-----------+----------------+ | cmd_id | montant_achat | date_cmd | client_id | fournisseur_id | +--------+----------------+-------------+-----------+----------------+ | 8001 | 125.02 | 2024-10-06 | 1005 | 6002 | | 8002 | 60.38 | 2024-02-22 | 1005 | 6002 | | 8003 | 95.65 | 2024-05-11 | 1002 | 6001 | | 8004 | 59.32 | 2024-12-22 | 1006 | 6003 | | 8005 | 74.33 | 2024-11-30 | 1006 | 6003 | | 8006 | 188.22 | 2024-01-05 | 1003 | 6001 | +--------+----------------+-------------+-----------+----------------+
6. A partir des tables suivantes, créez une vue pour trouver le fournisseur qui travaille avec le client qui a passé la commande la plus élevée de la journée. Renvoyez la date de la commande, l’ID du fournisseur et le nom.
Table: fournisseurs +----------------+----------------+-------------+------------+ | fournisseur_id | nom_fr | ville | commission | +----------------+----------------+-------------+------------+ | 6001 | Arnaud Beaulac | Toulouse | 0.2 | | 6002 | Fauna Gaillard | Paris | 0.5 | | 6005 | Barry Cantin | Nice | 0.9 | | 6006 | Royce Guimond | Strasbourg | 0.6 | | 6007 | Fusberta Faure | Marseille | 0.8 | | 6003 | Ernest Petit | Montpellier | 0.1 | +----------------+----------------+-------------+------------+
Table: commandes +--------+----------------+-------------+-----------+----------------+ | cmd_id | montant_achat | date_cmd | client_id | fournisseur_id | +--------+----------------+-------------+-----------+----------------+ | 8001 | 125.02 | 2024-10-06 | 1005 | 6002 | | 8002 | 60.38 | 2024-02-22 | 1005 | 6002 | | 8003 | 95.65 | 2024-05-11 | 1002 | 6001 | | 8004 | 59.32 | 2024-12-22 | 1006 | 6003 | | 8005 | 74.33 | 2024-11-30 | 1006 | 6003 | | 8006 | 188.22 | 2024-01-05 | 1003 | 6001 | +--------+----------------+-------------+-----------+----------------+
7. À partir du table suivante, créez une vue pour trouver tous les clients qui ont l’age le plus élevé. Retournez tous les champs du client.
Table: clients +-----------+----------------+-------------+--------+----------------+ | client_id | nom_cl | ville | age | fournisseur_id | +-----------+----------------+-------------+--------+----------------+ | 1001 | Alex Barbara | Paris | 25 | 6001 | | 1002 | Lois Collins | Lyon | 30 | 6001 | | 1005 | Karen Farley | Nice | 44 | 6002 | | 1006 | Kevin Thompson | Paris | 65 | 6003 | | 1007 | Scott Henry | Marseille | 32 | 6006 | | 1003 | Ellen McMullen | Montpellier | 53 | 6001 | +-----------+----------------+-------------+--------+----------------+
8. À partir du table suivante, créez une vue pour compter le nombre de fournisseurs dans chaque ville. Retourner ville et le nombre de fournisseur.
Table: fournisseurs +----------------+----------------+-------------+------------+ | fournisseur_id | nom_fr | ville | commission | +----------------+----------------+-------------+------------+ | 6001 | Arnaud Beaulac | Toulouse | 0.2 | | 6002 | Fauna Gaillard | Paris | 0.5 | | 6005 | Barry Cantin | Nice | 0.9 | | 6006 | Royce Guimond | Strasbourg | 0.6 | | 6007 | Fusberta Faure | Marseille | 0.8 | | 6003 | Ernest Petit | Montpellier | 0.1 | +----------------+----------------+-------------+------------+
9. À partir des tables suivantes, créez une vue pour calculer le montant moyen des achats et le montant total des achats pour chaque fournisseur. Retournez le nom, le montant moyen des achats et le montant total des achats. (Supposez que tous les noms sont uniques).
Table: fournisseurs +----------------+----------------+-------------+------------+ | fournisseur_id | nom_fr | ville | commission | +----------------+----------------+-------------+------------+ | 6001 | Arnaud Beaulac | Toulouse | 0.2 | | 6002 | Fauna Gaillard | Paris | 0.5 | | 6005 | Barry Cantin | Nice | 0.9 | | 6006 | Royce Guimond | Strasbourg | 0.6 | | 6007 | Fusberta Faure | Marseille | 0.8 | | 6003 | Ernest Petit | Montpellier | 0.1 | +----------------+----------------+-------------+------------+
Table: commandes +--------+----------------+-------------+-----------+----------------+ | cmd_id | montant_achat | date_cmd | client_id | fournisseur_id | +--------+----------------+-------------+-----------+----------------+ | 8001 | 125.02 | 2024-10-06 | 1005 | 6002 | | 8002 | 60.38 | 2024-02-22 | 1005 | 6002 | | 8003 | 95.65 | 2024-05-11 | 1002 | 6001 | | 8004 | 59.32 | 2024-12-22 | 1006 | 6003 | | 8005 | 74.33 | 2024-11-30 | 1006 | 6003 | | 8006 | 188.22 | 2024-01-05 | 1003 | 6001 | +--------+----------------+-------------+-----------+----------------+
10. À partir des tables suivantes, créez une vue pour identifier les fournisseurs qui travaillent avec plusieurs clients. Retournez tous les champs de fournisseur.
Table: fournisseurs +----------------+----------------+-------------+------------+ | fournisseur_id | nom_fr | ville | commission | +----------------+----------------+-------------+------------+ | 6001 | Arnaud Beaulac | Toulouse | 0.2 | | 6002 | Fauna Gaillard | Paris | 0.5 | | 6005 | Barry Cantin | Nice | 0.9 | | 6006 | Royce Guimond | Strasbourg | 0.6 | | 6007 | Fusberta Faure | Marseille | 0.8 | | 6003 | Ernest Petit | Montpellier | 0.1 | +----------------+----------------+-------------+------------+
Table: clients +-----------+----------------+-------------+--------+----------------+ | client_id | nom_cl | ville | age | fournisseur_id | +-----------+----------------+-------------+--------+----------------+ | 1001 | Alex Barbara | Paris | 25 | 6001 | | 1002 | Lois Collins | Lyon | 30 | 6001 | | 1005 | Karen Farley | Nice | 44 | 6002 | | 1006 | Kevin Thompson | Paris | 65 | 6003 | | 1007 | Scott Henry | Marseille | 32 | 6006 | | 1003 | Ellen McMullen | Montpellier | 53 | 6001 | +-----------+----------------+-------------+--------+----------------+
11. À partir des tables suivantes, créez une vue pour afficher le nombre de commandes par jour. Renvoyez la date de la commande et le nombre de commandes.
Table: commandes +--------+----------------+-------------+-----------+----------------+ | cmd_id | montant_achat | date_cmd | client_id | fournisseur_id | +--------+----------------+-------------+-----------+----------------+ | 8001 | 125.02 | 2024-10-06 | 1005 | 6002 | | 8002 | 60.38 | 2024-02-22 | 1005 | 6002 | | 8003 | 95.65 | 2024-05-11 | 1002 | 6001 | | 8004 | 59.32 | 2024-12-22 | 1006 | 6003 | | 8005 | 74.33 | 2024-11-30 | 1006 | 6003 | | 8006 | 188.22 | 2024-01-05 | 1003 | 6001 | +--------+----------------+-------------+-----------+----------------+
12. À partir des tables suivantes, créez une vue pour trouver les fournisseurs qui ont passé des commandes le 05 janvier 2024. Retournez tous les champs de fournisseur.
Table: fournisseurs +----------------+----------------+-------------+------------+ | fournisseur_id | nom_fr | ville | commission | +----------------+----------------+-------------+------------+ | 6001 | Arnaud Beaulac | Toulouse | 0.2 | | 6002 | Fauna Gaillard | Paris | 0.5 | | 6005 | Barry Cantin | Nice | 0.9 | | 6006 | Royce Guimond | Strasbourg | 0.6 | | 6007 | Fusberta Faure | Marseille | 0.8 | | 6003 | Ernest Petit | Montpellier | 0.1 | +----------------+----------------+-------------+------------+
Table: commandes +--------+----------------+-------------+-----------+----------------+ | cmd_id | montant_achat | date_cmd | client_id | fournisseur_id | +--------+----------------+-------------+-----------+----------------+ | 8001 | 125.02 | 2024-10-06 | 1005 | 6002 | | 8002 | 60.38 | 2024-02-22 | 1005 | 6002 | | 8003 | 95.65 | 2024-05-11 | 1002 | 6001 | | 8004 | 59.32 | 2024-12-22 | 1006 | 6003 | | 8005 | 74.33 | 2024-11-30 | 1006 | 6003 | | 8006 | 188.22 | 2024-01-05 | 1003 | 6001 | +--------+----------------+-------------+-----------+----------------+
13. À partir des tables suivantes, créez une vue pour trouver les fournisseurs qui ont passé des commandes le 06 octobre 2024 ou le 22 décembre 2024. Renvoyez l'ID du fournisseur, le numéro de commande et l'ID du client.
Table: commandes +--------+----------------+-------------+-----------+----------------+ | cmd_id | montant_achat | date_cmd | client_id | fournisseur_id | +--------+----------------+-------------+-----------+----------------+ | 8001 | 125.02 | 2024-10-06 | 1005 | 6002 | | 8002 | 60.38 | 2024-02-22 | 1005 | 6002 | | 8003 | 95.65 | 2024-05-11 | 1002 | 6001 | | 8004 | 59.32 | 2024-12-22 | 1006 | 6003 | | 8005 | 74.33 | 2024-11-30 | 1006 | 6003 | | 8006 | 188.22 | 2024-01-05 | 1003 | 6001 | +--------+----------------+-------------+-----------+----------------+