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    |
+-----------+----------------+-------------+--------+
SELECT * FROM clients;

Sortie de la requête :

+-----------+----------------+-------------+--------+
| 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! ».

SELECT "Hello World!";

Sortie de la requête :

------------
Hello World!

 

3. Écrivez une requête SQL pour afficher la somme de deux nombres 10 et 5 à partir du serveur SGBDR.

SELECT 10 + 5;

Sortie de la requête :

-----------
         15

 

 
 
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    |
+-----------+----------------+-------------+--------+
SELECT nom, age FROM clients;

Sortie de la requête :

+----------------+--------+
|       nom      |  age   |
+----------------+--------+
| Alex Barbara   |  25    |
| Lois Collins   |  30    |
| Karen Farley   |  44    |
| Kevin Thompson |  65    |
| Scott Henry    |  32    |
| Ellen McMullen |  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    |
+-----------+----------------+-------------+--------+
SELECT nom, age, client_id, ville FROM clients;

Sortie de la requête :

+----------------+--------+-----------+-------------+
|       nom      |  age   | client_id |    ville    |
+----------------+--------+-----------+-------------+
| Alex Barbara   |  25    |    1001   | Paris       |
| Lois Collins   |  30    |    1002   | Lyon        |
| Karen Farley   |  44    |    1005   | Nice        |
| Kevin Thompson |  65    |    1006   | Paris       |
| Scott Henry    |  32    |    1007   | Marseille   |
| Ellen McMullen |  53    |    1003   | Montpellier |
+----------------+--------+-----------+-------------+

 

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     |
+--------+----------------+-------------+-----------+
SELECT DISTINCT client_id FROM commandes;

Sortie de la requête :

+-----------+
| client_id |
+-----------+
|  1005     |
|  1002     |
|  1006     |
|  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    |
+-----------+----------------+-------------+--------+
SELECT nom, ville FROM clients WHERE ville = 'Paris';

Sortie de la requête :

+----------------+-------------+
|       nom      |    ville    |
+----------------+-------------+
| Alex Barbara   | Paris       |
| Kevin Thompson | Paris       |
+----------------+-------------+

 

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    |
+-----------+----------------+-------------+--------+
SELECT * FROM clients WHERE age > 40;

Sortie de la requête :

+----------------+--------+
|       nom      |  age   |
+----------------+--------+
| Karen Farley   |  44    |
| Kevin Thompson |  65    |
| Ellen McMullen |  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     |
+--------+----------------+-------------+-----------+
SELECT cmd_id, date_cmd, montant_achat 
FROM commandes 
WHERE client_id = 8004;

Sortie de la requête :

+--------+-------------+----------------+
| cmd_id |  date_cmd   | montant_achat  |
+--------+-------------+----------------+
| 8004   | 2024-12-22  | 59.32          |
+--------+-------------+----------------+

 

 
 
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   |
+-------+-------------+--------------+-----------+
SELECT annee, matiere, laureat 
FROM laureats_gagnant 
WHERE annee = 1980;

Sortie de la requête :

+-------+-------------+--------------+
| annee |   matiere   |  laureat     |
+-------+-------------+--------------+
| 1980  | Économie    | Eddie Parker |
| 1980  | Chimie      | Earl Horn    |
+-------+-------------+--------------+

 

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   |
+-------+-------------+--------------+-----------+
SELECT laureat 
FROM laureats_gagnant 
WHERE annee = 1970 AND matiere = 'Littérature';

Sortie de la requête :

+--------------+
|  laureat     |
+--------------+
| Glen Powell  |
+--------------+

 

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   |
+-------+-------------+--------------+-----------+
SELECT annee, matiere 
FROM laureats_gagnant 
WHERE laureat = 'Ali Fawaz';

Sortie de la requête :

+-------+-------------+
| annee |   matiere   |
+-------+-------------+
| 1975  | Physique    |
+-------+-------------+

 

 
 
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   |
+-------+-------------+--------------+-----------+
SELECT laureat 
FROM laureats_gagnant 
WHERE annee >= 1970 AND matiere = 'Physique';

Sortie de la requête :

+--------------+
|  laureat     |
+--------------+
|  Ali Fawaz   |
+--------------+

 

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      |
+-------+-------------+--------------+-----------+
SELECT annee, matiere, laureat, pays
FROM laureats_gagnant
WHERE matiere = 'Chimie' AND annee >= 1965 AND annee <= 1975;

Sortie de la requête :

+-------+-------------+--------------+-----------+
| annee |   matiere   |  laureat     |  pays     |
+-------+-------------+--------------+-----------+
| 1965  | Chimie      | Glen Powell  |  Canada   |
| 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   |
+-------+-------------+--------------+-----------+
SELECT *
FROM laureats_gagnant
WHERE annee > 1970
  AND laureat IN ('Ali Fawaz', 'Earl Horn');

Sortie de la requête :

+-------+-------------+--------------+-----------+
| annee |   matiere   |  laureat     |  pays     |
+-------+-------------+--------------+-----------+
| 1975  | Physique    | Ali Fawaz    |  Maroc    |
| 1980  | Chimie      | Earl Horn    |  Croatia  |
+-------+-------------+--------------+-----------+

 

 
 
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   |
+-------+-------------+--------------+-----------+
SELECT *
FROM laureats_gagnant
WHERE winner LIKE 'Jean %';

Sortie de la requête :

+-------+-------------+--------------+-----------+
| annee |   matiere   |  laureat     |  pays     |
+-------+-------------+--------------+-----------+
| 1970  | Littérature | Jean Powell  |  Canada   |
| 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   |
+-------+-------------+--------------+-----------+
SELECT *
FROM laureats_gagnant
WHERE (matiere = 'Chimie' AND annee = 1980)
UNION
(SELECT * FROM laureats_gagnant WHERE (matiere = 'Économie' AND annee = 1981));

Sortie de la requête :

+-------+-------------+--------------+-----------+
| annee |   matiere   |  laureat     |  pays     |
+-------+-------------+--------------+-----------+
| 1981  | Économie    | Alex Babtir  |  France   |
| 1980  | Chimie      | Earl Horn    |  Croatia  |
+-------+-------------+--------------+-----------+

 

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   |
+-------+-------------+--------------+-----------+
SELECT *
FROM laureats_gagnant
WHERE annee = 1980
  AND matiere NOT IN ('Chimie', 'Economie');

Sortie de la requête :

+-------+-------------+--------------+-----------+
| annee |   matiere   |  laureat     |  pays     |
+-------+-------------+--------------+-----------+
| 1980  | Physique    | Ali Fawaz    |  Maroc    |
| 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   |
+-------+-------------+--------------+-----------+
SELECT *
FROM laureats_gagnant
WHERE (matiere = 'Chimie' AND annee < 1981)
UNION
(SELECT * FROM laureats_gagnant WHERE (matiere = 'Physique' AND annee >= 1984));

Sortie de la requête :

+-------+-------------+--------------+-----------+
| annee |   matiere   |  laureat     |  pays     |
+-------+-------------+--------------+-----------+
| 1999  | Physique    | Eddie Parker |  USA      |
| 1980  | Chimie      | Eleanor Deas |  Italie   |
+-------+-------------+--------------+-----------+

 

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   |
+-------+-------------+--------------+-----------+
SELECT *
FROM laureats_gagnant
WHERE matiere NOT LIKE 'C%'
ORDER BY annee DESC, laureat;

On trier les résultats d'abord par "année" dans l'ordre décroissant, puis par "lauréat" dans l'ordre croissant.

Sortie de la requête :

+-------+-------------+--------------+-----------+
| annee |   matiere   |  laureat     |  pays     |
+-------+-------------+--------------+-----------+
| 1999  | Physique    | Eddie Parker |  USA      |
| 1980  | Physique    | Ali Fawaz    |  Maroc    |
| 1980  | Biologie    | Eleanor Deas |  Italie   |
| 1975  | Biologie    | Denis Kolium |  Croatia  |
| 1970  | Littérature | Glen Powell  |  Canada   |
+-------+-------------+--------------+-----------+

 

 
 
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   |
+-------+-------------+--------------+-----------+
SELECT *
FROM laureats_gagnant
WHERE annee = 1980
-- Trier les résultats en fonction de plusieurs critères
ORDER BY
  -- L'instruction CASE attribue une priorité (1 ou 0) en fonction de la colonne "matière"
  CASE
    WHEN matiere IN ('Économie', 'Chimie') THEN 1
    ELSE 0
  END ASC,
  -- Trier les résultats par "matière" dans l'ordre croissant.
  matiere,
  -- Trier les résultats par "lauréat" dans l'ordre croissant.
  laureat;

Sortie de la requête :

+-------+-------------+--------------+-----------+
| annee |   matiere   |  laureat     |  pays     |
+-------+-------------+--------------+-----------+
| 1980  | Biologie    | Eleanor Deas |  Italie   |
| 1980  | Littérature | Glen Powell  |  Canada   |
| 1980  | Physique    | Ali Fawaz    |  Maroc    |
| 1980  | Chimie      | Eleanor Deas |  Italie   |
| 1980  | Économie    | Earl Horn    |  Croatia  |
+-------+-------------+--------------+-----------+

 

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     |
+---------+-------------+------------+--------+
SELECT *
FROM products
WHERE prod_price BETWEEN 200 AND 350;

Sortie de la requête :

+---------+-------------+------------+--------+
| prod_id |  prod_name  | prod_price | com_id |
+---------+-------------+------------+--------+
| 1002    | CPU         | 250.00     |  8     |
| 1003    | Keyboard    | 300.00     |  6     |
| 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     |
+---------+-------------+------------+--------+
SELECT AVG(prod_price)
FROM products
WHERE com_id = 8;

Sortie de la requête :

  AVG
-----------
        200

 

 
 
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     |
+---------+-------------+------------+--------+
SELECT prod_name as "Nom du produit", prod_price AS "Prix en euro"
FROM item_mast;

Sortie de la requête :

+----------------+--------------+
| Nom du produit | Prix en euro |
+----------------+--------------+
| Monitor        | 150.00       |
| CPU            | 250.00       |
| Keyboard       | 300.00       |
| Mouse          | 177.00       |
| Printer        | 255.00       |
| Scanner        | 270.00       |
+----------------+--------------+

 

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     |
+---------+-------------+------------+--------+
SELECT prod_name, prod_price
FROM products
WHERE prod_price >= 200
ORDER BY pro_price DESC, prod_name;

Sortie de la requête :

+-------------+------------+
|  prod_name  | prod_price |
+-------------+------------+
| Keyboard    | 300.00     |
| Scanner     | 270.00     |
| Printer     | 255.00     |
| CPU         | 250.00     |
+-------------+------------+

 

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     |
+---------+-------------+------------+--------+
SELECT AVG(prod_price), com_id
FROM products
GROUP BY com_id;

Sortie de la requête :

+-----------------+--------+
| AVG(prod_price) | com_id |
+-----------------+--------+
| 200.00          |  8     |
| 285.00          |  3     |
| 177.00          |  2     |
| 255.00          |  9     |
+-----------------+--------+

 

 
 
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     |
+---------+-------------+------------+--------+
SELECT prod_name, prod_price
FROM products
WHERE prod_price = (SELECT MIN(prod_price) FROM products);

Sortie de la requête :

+-------------+------------+
|  prod_name  | prod_price |
+-------------+------------+
| Monitor     | 150.00     |
+-------------+------------+

 

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             |
+------+---------+----------+----------------+
SELECT DISTINCT nom FROM employes;

Sortie de la requête :

+----------+
| nom      |
+----------+
| Parker   |
| Fawaz    |
| Horn     |
| Savoy    |
+----------+

 

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             |
+------+---------+----------+----------------+
SELECT *
FROM employes
WHERE nom = 'Horn';

Sortie de la requête :

+------+---------+----------+----------------+
|  id  | prenom  |   nom    | departement_id |
+------+---------+----------+----------------+
| 1005 | Earl    | Horn     |  9             |
+------+---------+----------+----------------+

 

 
 
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             |
+------+---------+----------+----------------+
SELECT *
FROM employes
WHERE departement_id = 8;

Sortie de la requête :

+------+---------+----------+----------------+
|  id  | prenom  |   nom    | departement_id |
+------+---------+----------+----------------+
| 1001 | Eddie   | Parker   |  8             |
| 1002 | Eleanor | Fawaz    |  8             |
+------+---------+----------+----------------+

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *