Exercices MySQL Avec Correction – Partie 5

Dans cet article vous trouverez la suite de la quatrième partie, consultez nos exercices sur des requêtes MYSQL simple, avancée et enfin complexe. Ces questions sont basées sur les deux tables suivants, table employee et table reward.
 
 

Table employee
+-------------+------------+-----------+----------+--------------+-------------+
| Employee_id | First_name | Last_name |  Salary  | Joining_date | Departement |
+-------------+------------+-----------+----------+--------------+-------------+
|     1       |     Bob    |   Kinto   | 1000000  |  2019-01-20  |   Finance   |
|     2       |    Jerry   |  Kansxo   | 6000000  |  2019-01-15  |     IT      |
|     3       |    Philip  |   Jose    | 8900000  |  2019-02-05  |   Banking   |
|     4       |    John    |  Abraham  | 2000000  |  2019-02-25  |  Insurance  |
|     5       |   Michael  |  Mathew   | 2200000  |  2019-02-28  |   Finance   |
|     6       |    Alex    |  chreketo | 4000000  |  2019-05-10  |     IT      |
|     7       |    Yohan   |   Soso    | 1230000  |  2019-06-20  |   Banking   |
+-------------+------------+-----------+----------+--------------+-------------+
Table reward (Prime)
+-----------------+-------------+--------+
| Employee_ref_id | date_reward | amount |
+-----------------+-------------+--------+
|         1       | 2019-05-11  |  1000  | 
|         2       | 2019-02-15  |  5000  |
|         3       | 2019-04-22  |  2000  |
|         1       | 2019-06-20  |  8000  |
+-----------------+-------------+--------+
Télécharger le fichier contenant les instructions SQL permettant la création des tables. (Cliquez ici)

 

Questions

1. Récupérez le département et le salaire total, regroupé par département, et trié par le salaire total par ordre décroissant.

SELECT Departement, SUM(salary) AS total 
FROM employee 
GROUP BY Departement 
ORDER BY total DESC;

 

MySQL GROUP BY

 

2. Récupérez le département, le nombre d’employés dans ce département et le salaire total regroupé par département, et trié par le salaire total par ordre décroissant.

SELECT Departement, COUNT(First_name), SUM(salary) AS total 
FROM employee 
GROUP BY Departement 
ORDER BY total DESC;

 

 

3. Récupérez le salaire moyen par département, et par ordre croissant du salaire.

SELECT Departement, AVG(salary) AS MoySalary 
FROM employee 
GROUP BY Departement 
ORDER BY MoySalary ASC;

 

 

Différence entre index cluster et non-cluster

2 réflexions sur “Exercices MySQL Avec Correction – Partie 5

  • mars 9, 2020 à 1:51 am
    Permalien

    Je pense que la question 8 est pour trouver les employées ayant des primes. Donc, la réponse est :
    SELECT E.* FROM Employee AS E
    WHERE EXISTS(
    SELECT R.Employee_ref_id from reward AS R where E.Employee_id = R.Employee_ref_id
    );

    +————-+————+———–+———+————–+————-+
    | Employee_id | First_name | Last_name | Salary | Joining_date | Departement |
    +————-+————+———–+———+————–+————-+
    | 1 | Bob | Kinto | 1000000 | 2019-01-20 | Finance |
    | 2 | Jerry | Kansxo | 6000000 | 2019-01-15 | IT |
    | 3 | Philip | Jose | 8900000 | 2019-02-05 | Banking |
    +————-+————+———–+———+————–+————-+

    Répondre
    • mars 9, 2020 à 2:37 am
      Permalien

      Merci pour cette remarque, c’est corrigé 🙂

      Répondre

Laisser un commentaire

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