Capou
Maine coon
Cracotte
Maine coon
On ne connaît pas la race de Choupi, et pourtant il fait bien partie des lignes sélectionnées alors qu'avec la jointure interne il
n'apparaissait pas. Simplement, les colonnes qui viennent de la table Race (la colonne Race.nom AS race dans ce cas-ci)
sont NULL pour les lignes qui n'ont pas de correspondance (la ligne de Choupi ici).
Jointures par la droite
Les jointures par la droite (RIGHT JOIN ou RIGHT OUTER JOIN), c'est évidemment le même principe, sauf que ce sont
toutes les lignes de la table de droite qui sont sélectionnées même s'il n'y a pas de correspondance dans la table de gauche.
Exemple : toujours avec les races de chats.
Code : SQL
SELECT Animal.nom AS nom_animal, Race.nom AS race
FROM Animal
-- Table
de gauche
RIGHT JOIN Race
-- Table
de droite
ON Animal.race_id = Race.id
WHERE Race.espece_id = 2
ORDER BY Race.nom, Animal.nom;
- OU
SELECT Animal.nom AS nom_animal, Race.nom AS race
FROM Animal
-- Table de
gauche
RIGHT OUTER JOIN Race
-- Table de
droite
ON Animal.race_id = Race.id
WHERE Race.espece_id = 2
ORDER BY Race.nom, Animal.nom;
nom_animal
race
Callune
Bleu russe
Caribou
Bleu russe
Cawette
Bleu russe
Feta
Bleu russe
Filou
Bleu russe
Raccou
Bleu russe
Schtroumpfette Bleu russe
Bagherra
Maine coon
Bilba
Maine coon
Capou
Maine coon
Cracotte
Maine coon
Farceur
Maine coon
Milla
Maine coon
Partie 2 : Index, jointures et sous-requêtes
105/414
www.openclassrooms.com
Précédent

- 105/413

Suivant