Compte-rendu du TP
Manipuler une Base de Données avec des
JOINTURES
WISSAL HAMMAD
DEV-104
2024/2025
Introduction
Ce compte-rendu présente l'ensemble des requêtes SQL réalisées
pour répondre aux différents exercices du TP sur les jointures dans
la base de données `hr_dev106`. L'objectif est de manipuler les
données en utilisant les `JOIN` afin d'extraire des informations
pertinentes.
1. Affichage du nom complet des employés ainsi que le nom de
leur département :
SELECT CONCAT(e.first_name, ' ', e.last_name) AS employe,
d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id;
2. Liste de tous les employés, y compris ceux sans
département :
SELECT CONCAT(e.first_name, ' ', e.last_name) AS employe,
d.department_name
FROM employees e
LEFT JOIN departments d ON e.department_id = d.department_id;
3. Affichage des noms des départements et de leurs managers :
SELECT d.department_name, CONCAT(e.first_name, ' ', e.last_name) AS
manager
FROM departments d
LEFT JOIN employees e ON d.manager_id = e.employee_id;
4. Liste des employés avec leur manager :
SELECT e1.first_name AS employe, e2.first_name AS manager
FROM employees e1
LEFT JOIN employees e2 ON e1.manager_id = e2.employee_id;
8.Employés travaillant dans un pays donné ('United States') :
FROM employees e
JOIN departments d ON e.department_id = d.department_id
JOIN locations l ON d.location_id = l.location_id
JOIN countries c ON l.country_id = c.country_id
WHERE c.country_name = 'United States';
9.Employés gagnant plus que leur manager :
SELECT e1.first_name AS employe, e1.salary, e2.salary AS
manager_salary
FROM employees e1
JOIN employees e2 ON e1.manager_id = e2.employee_id
WHERE e1.salary > e2.salary;
10.Employés gagnant plus de 5000 avec leur département et
pays :
SELECT d.department_name, COUNT(e.employee_id) AS
nombre_employes
FROM departments d
LEFT JOIN employees e ON d.department_id = e.department_id
GROUP BY d.department_name
ORDER BY nombre_employes DESC;
Conclusion
Ce TP a permis d'explorer différents types de jointures SQL pour
extraire des informations précises sur les employés, leurs
managers, départements, salaires et pays. L'utilisation des jointures
internes (`INNER JOIN`), externes (`LEFT JOIN`), et des
conditions spécifiques a été essentielle pour répondre aux
différents besoins du TP.