© Éditions Eyrolles
121
chapitre n° 4
Interrogation des données
Jointures
Les jointures permettent d’extraire des données issues de plusieurs tables. Le processus de
normalisation du modèle relationnel est basé sur la décomposition et a pour conséquence
d’augmenter le nombre de tables d’un schéma. Ainsi, la majorité des requêtes utilisent des
jointures nécessaires pour pouvoir extraire des données de tables distinctes.
Une jointure met en relation deux tables sur la base d’une clause de jointure (comparaison de
colonnes). Généralement, cette comparaison fait intervenir une clé étrangère d’une table avec
une clé primaire d’une autre table (car le modèle relationnel est fondamentalement basé sur
les valeurs).
En considérant les tables suivantes, les seules jointures logiques doivent se faire sur l’égalité
soit des colonnes comp et compa soit des colonnes brevet et chefPil. Ces jointures
permettront d’afficher des données d’une table (ou des deux tables) tout en posant des conditions sur une table (ou les deux). Par exemple, l’affichage du nom des compagnies (colonne de
la table Compagnie) qui ont embauché un pilote ayant moins de 500 heures de vol (condition
sur la table Pilote).
Classification
Une jointure peut s’écrire, dans une requête SQL, de différentes manières :
q
« relationnelle » (aussi appelée « SQL89 » pour rappeler la version de la norme SQL) ;
q
« SQL2 » (aussi appelée « SQL92 ») ;
q
« procédurale » (qui qualifie la structure de la requête) ;
q
« mixte » (combinaison des trois approches précédentes).
Figure 4-11 Deux tables à mettre en jointure
Compagnie
comp
nrue rue
ville
nomComp
AF
124
Port Royal
Paris
Air France
SING
7
Camparols
Singapour
Singapore AL
CAST
1
G. Brassens
Blagnac
Castanet AL
Pilote
brevet
nom
nbHVol compa
chefPil
PL-1
Pierre Lamothe
450
AF
PL-4
PL-2
Didier Linxe
900
AF
PL-4
PL-3
Christian Soutou
1000
SING
PL-4
Henri Alquié
3400
AF
Précédent

- 143/418

Suivant