Exercices MySQL Avec Correction – Partie 7

Dans cet article vous trouverez la suite de la sixiè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érer le prénom, le montant de la récompense pour les employés même s’ils n’ont pas reçu de récompenses, et fixer un montant de récompense égal à 0 pour les employés qui n’ont pas reçu de récompenses.

Select First_name, IFNULL(amount,0) 
FROM Employee E 
LEFT JOIN Reward R 
ON E.employee_id = R.employee_ref_id;

 

Remplacer les valeurs NULL par d'autres valeurs dans MySQL

 

2. Récupérer le prénom de l’employée, le montant de la récompense pour les employés qui ont des récompenses.

SELECT First_name, amount 
FROM Employee E 
INNER JOIN Reward R 
ON E.employee_id = R.employee_ref_id;

 

MySQL INNER JOIN

 

3. Récupérer le prénom, le montant de la récompense pour les employés qui ont des récompenses en utilisant Right Join.

SELECT First_name, IFNULL(amount,0) 
FROM Employee E 
RIGHT JOIN Reward R 
ON E.employee_id = R.employee_ref_id;

 

MySQL RIGHT JOIN

 

Différence entre vue et vue matérialisée

Laisser un commentaire

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