0% ont trouvé ce document utile (0 vote)
69 vues5 pages

TP 4

Transféré par

stark FG
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
69 vues5 pages

TP 4

Transféré par

stark FG
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Atelier_Bases de données/DSI/RSI/SEM/S3 Dr.

Mouna BELHAJ

TP n°4 : Les Jointures

I. Les jointures
Les jointures permettent de joindre les lignes de plusieurs tables dans la même requête. Cela
permet d’exploiter la puissance des bases de données relationnelles pour obtenir des résultats
qui combinent les données de plusieurs tables de manière efficace.
En général, les jointures consistent à assembler des lignes de deux tables en associant l’égalité
des valeurs d’une colonne d’une première table par rapport à la valeur d’une colonne d’une
seconde table. Ces colonnes sont généralement des clés primaires et étrangères.
Il y a d’autres cas de jointures, incluant des jointures sur la même table ou des jointure
d’inégalité.

II. Les types de jointures


1. L’équijointure
Une équijointure utilise l’opérateur d’égalité dans la clause de jointure et compare
généralement des clés primaires et des clés étrangères. C’est une jointure interne pour retourner
les enregistrements quand la condition est vrai dans les 2 tables. C’est l’une des jointures les
plus communes.

Syntaxe simple :

SELECT *
FROM A
INNER JOIN B ON A.key = B.key
Atelier_Bases de données/DSI/RSI/SEM/S3 Dr. Mouna BELHAJ

Equivalente à:

SELECT table1.colonne, table2.colonne


FROM table1, table2
Where table1.colonne= table2.colonne

Exemple : Afficher les noms des employés de chaque département :


SELECT Last_Name, Department_Name
FROM Employees e
INNER JOIN Departments d ON e.department_ID = d.department_ID;
Equivalente à:
SELECT Last_Name, Department_Name
FROM Employees e, Departments d
WHERE e.department_ID = d.department_ID;
Atelier_Bases de données/DSI/RSI/SEM/S3 Dr. Mouna BELHAJ

2. L’auto-jointure

Il s’agit d’un cas particulier de l’équijointure. Elle permet d’effectuer une jointure d’une table
avec elle-même comme si c’était une autre table (Des alias de tables permettront de distinguer
les enregistrements entre eux).

Ce type de requête n’est pas si commun mais très pratique dans le cas où une table lie des
informations avec des enregistrements de la même table.

Exemple :

Afficher les noms des employés avec le nom de leurs chef (managers).

3. La non-équijointure
A l’inverse des équijointures, la non-équijointure n’est pas basée sur l’égalité des clés
primaires et des clés étrangères.

Exemple :
La liste des employés qui ont un salaire compris entre le salaire minimal et le salaire maximal.
Atelier_Bases de données/DSI/RSI/SEM/S3 Dr. Mouna BELHAJ

III. Application
Les relations entre les tables de la bases de données HR sont comme suit :
Atelier_Bases de données/DSI/RSI/SEM/S3 Dr. Mouna BELHAJ

Ecrire et exécuter les requêtes permettant de réaliser les tâches suivantes :


1. Afficher les noms et les prénoms et la fonction des employés.
2. Afficher les noms et les villes de chaque département.
3. Afficher pour chaque employé son nom et prénom et le nom de son département.
4. Afficher les noms et les prénoms des employés du département « IT ».
5. Afficher pour chaque employé son nom, son prénom et le nom et l’adresse de son
département.
6. Afficher pour chaque employé son nom, son prénom ainsi que le nom, l’adresse et le
pays de son département.
7. Afficher pour chaque employé son nom, son prénom ainsi que le nom, l’adresse, le
pays et la région de son département ordonnés selon le nom des employés.
8. Afficher l’Id, le nom de chaque département ainsi que le salaire le plus élevé dans
chaque département.
9. Afficher le salaire minimal et le salaire maximal des fonctions des employés de chaque
département.
10. Afficher le salaire minimal et le salaire maximal des fonctions des employés du
département « Marketing ».
11. Afficher les noms des départements dans lesquels les employés touchent des
commissions.
12. Afficher les noms et les adresses des départements dans lesquels les employés touchent
des commissions.
13. Afficher la liste des départements situés en Europe et leurs pays.
14. Afficher, en utilisant les alias, le prénom de chaque employé, sa fonction et le prénom
de son manager.
15. Afficher « le nom et le prénom » de chaque employé, le nom de sa fonction et « le nom
et le prénom » de son manager ordonnés selon le manager.
16. Afficher la date de recrutement, « le nom et le prénom » des employés recrutés dans la
même date ordonnés par ordre décroissant de la date de recrutement.
17. Afficher les identifiants, les noms et les salaires des employés qui ont un salaire compris
entre le salaire minimum et le salaire maximum.

Vous aimerez peut-être aussi