30 Exercices Sur Les Requêtes SQL Corrigé: Récupération des données
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é : Récupération des données à partir de tables
1. Créez une requête SQL qui affiche toutes les informations relatives à tous les clients.
Table: clients +-----------+----------------+-------------+--------+ | client_id | nom | ville | age | +-----------+----------------+-------------+--------+ | 1001 | Alex Barbara | Paris | 25 | | 1002 | Lois Collins | Lyon | 30 | | 1005 | Karen Farley | Nice | 44 | | 1006 | Kevin Thompson | Paris | 65 | | 1007 | Scott Henry | Marseille | 32 | | 1003 | Ellen McMullen | Montpellier | 53 | +-----------+----------------+-------------+--------+
2. Écrire une requête pour afficher la chaîne « Hello World! ».
3. Écrivez une requête SQL pour afficher la somme de deux nombres 10 et 5 à partir du serveur SGBDR.
4. Créez une requête SQL pour afficher des colonnes spécifiques telles que le nom et l’age de tous les clients.
Table: clients +-----------+----------------+-------------+--------+ | client_id | nom | ville | age | +-----------+----------------+-------------+--------+ | 1001 | Alex Barbara | Paris | 25 | | 1002 | Lois Collins | Lyon | 30 | | 1005 | Karen Farley | Nice | 44 | | 1006 | Kevin Thompson | Paris | 65 | | 1007 | Scott Henry | Marseille | 32 | | 1003 | Ellen McMullen | Montpellier | 53 | +-----------+----------------+-------------+--------+
5. Écrivez une requête SQL pour afficher les colonnes dans un ordre spécifique, comme le nom, l’age, l’ID du client, et la ville pour toutes les client.
Table: clients +-----------+----------------+-------------+--------+ | client_id | nom | ville | age | +-----------+----------------+-------------+--------+ | 1001 | Alex Barbara | Paris | 25 | | 1002 | Lois Collins | Lyon | 30 | | 1005 | Karen Farley | Nice | 44 | | 1006 | Kevin Thompson | Paris | 65 | | 1007 | Scott Henry | Marseille | 32 | | 1003 | Ellen McMullen | Montpellier | 53 | +-----------+----------------+-------------+--------+
6. À partir du table suivant, écrivez une requête SQL pour trouver l’identifiant unique des clients. Retourner l’identifiant du client.
Table: commandes +--------+----------------+-------------+-----------+ | cmd_id | montant_achat | date_cmd | client_id | +--------+----------------+-------------+-----------+ | 8001 | 125.02 | 2024-10-06 | 1005 | | 8002 | 60.38 | 2024-02-22 | 1005 | | 8003 | 95.65 | 2024-05-11 | 1002 | | 8004 | 59.32 | 2024-12-22 | 1006 | | 8005 | 74.33 | 2024-11-30 | 1006 | | 8006 | 188.22 | 2024-01-05 | 1003 | +--------+----------------+-------------+-----------+
7. A partir du table suivante, écrivez une requête SQL pour localiser les clients qui habitent dans la ville de ‘Paris’. Retourner le nom du client, la ville.
Table: clients +-----------+----------------+-------------+--------+ | client_id | nom | ville | age | +-----------+----------------+-------------+--------+ | 1001 | Alex Barbara | Paris | 25 | | 1002 | Lois Collins | Lyon | 30 | | 1005 | Karen Farley | Nice | 44 | | 1006 | Kevin Thompson | Paris | 65 | | 1007 | Scott Henry | Marseille | 32 | | 1003 | Ellen McMullen | Montpellier | 53 | +-----------+----------------+-------------+--------+
8. À partir du table suivant, écrivez une requête SQL pour trouver les clients dont l’age est supérieur à 40. Retourner le nom du client, et l’age.
Table: clients +-----------+----------------+-------------+--------+ | client_id | nom | ville | age | +-----------+----------------+-------------+--------+ | 1001 | Alex Barbara | Paris | 25 | | 1002 | Lois Collins | Lyon | 30 | | 1005 | Karen Farley | Nice | 44 | | 1006 | Kevin Thompson | Paris | 65 | | 1007 | Scott Henry | Marseille | 32 | | 1003 | Ellen McMullen | Montpellier | 53 | +-----------+----------------+-------------+--------+
9. A partir du table suivant, écrivez une requête SQL pour trouver les commandes qui ont été livrées au client avec ID. 8004. Retourner ID du commande, date du commande, montant de l’achat.
Table: commandes +--------+----------------+-------------+-----------+ | cmd_id | montant_achat | date_cmd | client_id | +--------+----------------+-------------+-----------+ | 8001 | 125.02 | 2024-10-06 | 1005 | | 8002 | 60.38 | 2024-02-22 | 1005 | | 8003 | 95.65 | 2024-05-11 | 1002 | | 8004 | 59.32 | 2024-12-22 | 1006 | | 8005 | 74.33 | 2024-11-30 | 1006 | | 8006 | 188.22 | 2024-01-05 | 1003 | +--------+----------------+-------------+-----------+
10. A partir du table suivant, écrivez une requête SQL pour trouver le(s) lauréat(s) du Prix Nobel pour l’année 1980. Retournez l’année, la matière et le lauréat.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1980 | Économie | Eddie Parker | France | | 1985 | Chimie | Eleanor Deas | Italie | | 1970 | Littérature | Glen Powell | Canada | | 1975 | Physique | Ali Fawaz | Maroc | | 1980 | Chimie | Earl Horn | Croatia | | 1990 | Littérature | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
11. À partir du table suivant, écrivez une requête SQL pour trouver le lauréat du prix Nobel de littérature pour 1970. Retourner le lauréat.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1980 | Économie | Eddie Parker | France | | 1985 | Chimie | Eleanor Deas | Italie | | 1970 | Littérature | Glen Powell | Canada | | 1970 | Économie | Bob Parker | Canada | | 1975 | Physique | Ali Fawaz | Maroc | | 1980 | Chimie | Earl Horn | Croatia | | 1990 | Littérature | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
12. À partir du table suivant, écrivez une requête SQL pour localiser le lauréat du prix Nobel « Ali Fawaz ». Retourner l’année, la matière.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1980 | Économie | Eddie Parker | France | | 1985 | Chimie | Eleanor Deas | Italie | | 1970 | Littérature | Glen Powell | Canada | | 1975 | Physique | Ali Fawaz | Maroc | | 1980 | Chimie | Earl Horn | Croatia | | 1990 | Littérature | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
13. A partir du table suivant, écrivez une requête SQL pour trouver les lauréats du Prix Nobel dans le domaine de la « Physique » depuis 1970. Retourner le lauréat.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1950 | Économie | Eddie Parker | France | | 1985 | Chimie | Eleanor Deas | Italie | | 1960 | Physique | Glen Powell | Canada | | 1975 | Physique | Ali Fawaz | Maroc | | 1980 | Chimie | Earl Horn | Croatia | | 1990 | Littérature | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
14. A partir du table suivant, écrivez une requête SQL pour trouver les lauréats du prix Nobel de chimie entre les années 1965 et 1975. Les valeurs de début et de fin sont incluses. Retournez l’année, la matière, le lauréat et le pays.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1950 | Économie | Eddie Parker | France | | 1985 | Physique | Eleanor Deas | Italie | | 1965 | Chimie | Glen Powell | Canada | | 1975 | Physique | Ali Fawaz | Maroc | | 1980 | Chimie | Earl Horn | Croatia | | 1990 | Littérature | Bryan Savoy | Serbia | | 1970 | Chimie | Jean Roxy | USA | +-------+-------------+--------------+-----------+
15. Ecrivez une requête SQL pour afficher tous les détails des lauréat après 1970, de "Ali Fawaz" et "Earl Horn".
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1980 | Économie | Eddie Parker | France | | 1985 | Chimie | Eleanor Deas | Italie | | 1970 | Littérature | Glen Powell | Canada | | 1975 | Physique | Ali Fawaz | Maroc | | 1980 | Chimie | Earl Horn | Croatia | | 1990 | Littérature | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
16. A partir du table suivant, écrivez une requête SQL pour récupérer les détails des lauréats dont les prénoms correspondent à la chaîne de caractères 'Jean'. Retourner l'année, le matiere, le lauréat et le pays.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1980 | Économie | Eddie Parker | France | | 1985 | Chimie | Eleanor Deas | Italie | | 1970 | Littérature | Jean Powell | Canada | | 1975 | Physique | Ali Fawaz | Maroc | | 1980 | Chimie | Earl Horn | Croatia | | 1990 | Littérature | Jean Savoy | Serbia | +-------+-------------+--------------+-----------+
17. A partir du table suivant, écrivez une requête SQL qui combine les lauréats en chimie, 1980 et en économie, 1981. Retournez l'année, la matière, le lauréat et le pays.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1981 | Économie | Alex Babtir | France | | 1981 | Littérature | Eddie Parker | USA | | 1985 | Chimie | Eleanor Deas | Italie | | 1970 | Littérature | Glen Powell | Canada | | 1975 | Physique | Ali Fawaz | Maroc | | 1980 | Chimie | Earl Horn | Croatia | | 1980 | Biologie | Denis Kolium | Croatia | | 1990 | Littérature | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
18. A partir du table suivant, écrivez une requête SQL pour trouver les lauréats du Prix Nobel en 1980 en excluant les matières Chimie et Economie. Retournez l'année, la matière, le lauréat et le pays.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1981 | Économie | Alex Babtir | France | | 1981 | Littérature | Eddie Parker | USA | | 1985 | Chimie | Eleanor Deas | Italie | | 1970 | Littérature | Glen Powell | Canada | | 1980 | Physique | Ali Fawaz | Maroc | | 1980 | Chimie | Earl Horn | Croatia | | 1980 | Biologie | Denis Kolium | Croatia | | 1980 | Littérature | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
19. A partir du table suivant, écrivez une requête SQL pour combiner les lauréats en "Chimie" avant 1981 et les lauréats en "Physique" à partir de 1984. Retournez l'année, la matière, le lauréat et le pays.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1981 | Économie | Alex Babtir | France | | 1999 | Physique | Eddie Parker | USA | | 1980 | Chimie | Eleanor Deas | Italie | | 1970 | Littérature | Glen Powell | Canada | | 1980 | Physique | Ali Fawaz | Maroc | | 1982 | Chimie | Earl Horn | Croatia | | 1980 | Biologie | Denis Kolium | Croatia | | 1980 | Littérature | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
20. À partir du table suivant, écrivez une requête SQL pour trouver les lauréats du prix Nobel pour la matière qui ne commence pas par la lettre "C". Retournez l'année, la matière, le lauréat et le pays. Trier les résultats par année, en ordre décroissant, et par lauréat, en ordre croissant.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1981 | Chimie | Alex Babtir | France | | 1999 | Physique | Eddie Parker | USA | | 1980 | Chimie | Eleanor Deas | Italie | | 1970 | Littérature | Glen Powell | Canada | | 1980 | Physique | Ali Fawaz | Maroc | | 1980 | Biologie | Eleanor Deas | Italie | | 1982 | Chimie | Earl Horn | Croatia | | 1975 | Biologie | Denis Kolium | Croatia | | 1980 | Chimie | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
21. À partir du table suivant, écrivez une requête SQL pour trouver les détails des lauréats du prix Nobel de 1980. Triez les résultats par matière, en ordre croissant, à l'exception de "Chimie" et "Économie" qui se trouveront à la fin de l'ensemble des résultats. Retournez l'année, la matière, le lauréat et le pays.
Table: laureats_gagnant +-------+-------------+--------------+-----------+ | annee | matiere | laureat | pays | +-------+-------------+--------------+-----------+ | 1981 | Économie | Alex Babtir | France | | 1999 | Physique | Eddie Parker | USA | | 1980 | Chimie | Eleanor Deas | Italie | | 1980 | Littérature | Glen Powell | Canada | | 1980 | Physique | Ali Fawaz | Maroc | | 1980 | Biologie | Eleanor Deas | Italie | | 1980 | Économie | Earl Horn | Croatia | | 1975 | Biologie | Denis Kolium | Croatia | | 1970 | Chimie | Bryan Savoy | Serbia | +-------+-------------+--------------+-----------+
22. À partir du table suivante, écrivez une requête SQL pour sélectionner une gamme de produits dont le prix est compris entre 200 et 350 euros. Les valeurs de début et de fin sont incluses. Retournez prod_id, prod_name, prod_price et com_id.
Table: products +---------+-------------+------------+--------+ | prod_id | prod_name | prod_price | com_id | +---------+-------------+------------+--------+ | 1001 | Monitor | 150.00 | 8 | | 1002 | CPU | 250.00 | 8 | | 1003 | Keyboard | 300.00 | 6 | | 1004 | Mouse | 177.00 | 2 | | 1005 | Printer | 255.00 | 9 | | 1006 | Scanner | 270.00 | 3 | +---------+-------------+------------+--------+
23. A partir du table suivant, écrivez une requête SQL pour calculer le prix moyen pour la commande 8. Retourner avg.
Table: products +---------+-------------+------------+--------+ | prod_id | prod_name | prod_price | com_id | +---------+-------------+------------+--------+ | 1001 | Monitor | 150.00 | 8 | | 1002 | CPU | 250.00 | 8 | | 1003 | Keyboard | 300.00 | 6 | | 1004 | Mouse | 177.00 | 2 | | 1005 | Printer | 255.00 | 9 | | 1006 | Scanner | 270.00 | 3 | +---------+-------------+------------+--------+
24. À partir du table suivant, écrivez une requête SQL pour afficher prod_name comme "Nom du produit" et prod_price comme "Prix en euro".
Table: products +---------+-------------+------------+--------+ | prod_id | prod_name | prod_price | com_id | +---------+-------------+------------+--------+ | 1001 | Monitor | 150.00 | 8 | | 1002 | CPU | 250.00 | 8 | | 1003 | Keyboard | 300.00 | 6 | | 1004 | Mouse | 177.00 | 2 | | 1005 | Printer | 255.00 | 9 | | 1006 | Scanner | 270.00 | 3 | +---------+-------------+------------+--------+
25. À partir du table suivant, écrivez une requête SQL pour trouver les produits dont les prix sont supérieurs ou égaux à 200 €. Trier le résultat par le prix du produit en ordre décroissant, puis par le nom du produit en ordre croissant. Retournez prod_name et prod_price.
Table: products +---------+-------------+------------+--------+ | prod_id | prod_name | prod_price | com_id | +---------+-------------+------------+--------+ | 1001 | Monitor | 150.00 | 8 | | 1002 | CPU | 250.00 | 8 | | 1003 | Keyboard | 300.00 | 6 | | 1004 | Mouse | 177.00 | 2 | | 1005 | Printer | 255.00 | 9 | | 1006 | Scanner | 270.00 | 3 | +---------+-------------+------------+--------+
26. À partir du table suivant, écrivez une requête SQL pour calculer le prix moyen des produits pour chaque commande. Elle renvoie le prix moyen et l'id du commande.
Table: products +---------+-------------+------------+--------+ | prod_id | prod_name | prod_price | com_id | +---------+-------------+------------+--------+ | 1001 | Monitor | 150.00 | 8 | | 1002 | CPU | 250.00 | 8 | | 1003 | Keyboard | 300.00 | 3 | | 1004 | Mouse | 177.00 | 2 | | 1005 | Printer | 255.00 | 9 | | 1006 | Scanner | 270.00 | 3 | +---------+-------------+------------+--------+
27. A partir du table suivant, écrivez une requête SQL pour trouver le(s) produit(s) le(s) moins cher(s). Retournez prod_name et prod_price.
Table: products +---------+-------------+------------+--------+ | prod_id | prod_name | prod_price | com_id | +---------+-------------+------------+--------+ | 1001 | Monitor | 150.00 | 8 | | 1002 | CPU | 250.00 | 8 | | 1003 | Keyboard | 300.00 | 3 | | 1004 | Mouse | 177.00 | 2 | | 1005 | Printer | 255.00 | 9 | | 1006 | Scanner | 270.00 | 3 | +---------+-------------+------------+--------+
28. A partir du table suivant, écrivez une requête SQL pour trouver le nom unique de tous les employés. Retournez "nom".
Table: employes +------+---------+----------+----------------+ | id | prenom | nom | departement_id | +------+---------+----------+----------------+ | 1001 | Eddie | Parker | 8 | | 1002 | Eleanor | Fawaz | 8 | | 1003 | Glen | Parker | 6 | | 1004 | Ali | Fawaz | 2 | | 1005 | Earl | Horn | 9 | | 1006 | Bryan | Savoy | 3 | +------+---------+----------+----------------+
29. A partir du table suivant, écrivez une requête SQL pour trouver les détails des employés dont le nom est 'Horn'. Retournez id, prenom, nom, et departement_id.
Table: employes +------+---------+----------+----------------+ | id | prenom | nom | departement_id | +------+---------+----------+----------------+ | 1001 | Eddie | Parker | 8 | | 1002 | Eleanor | Fawaz | 8 | | 1003 | Glen | Parker | 6 | | 1004 | Ali | Fawaz | 2 | | 1005 | Earl | Horn | 9 | | 1006 | Bryan | Savoy | 3 | +------+---------+----------+----------------+
30. A partir du table suivant, écrivez une requête SQL pour récupérer les détails des employés qui travaillent dans le département 8. Retournez id, prenom, nom, et departement_id.
Table: employes +------+---------+----------+----------------+ | id | prenom | nom | departement_id | +------+---------+----------+----------------+ | 1001 | Eddie | Parker | 8 | | 1002 | Eleanor | Fawaz | 8 | | 1003 | Glen | Parker | 6 | | 1004 | Ali | Fawaz | 2 | | 1005 | Earl | Horn | 9 | | 1006 | Bryan | Savoy | 3 | +------+---------+----------+----------------+