Chapitre 5 : INNER JOIN, LEFT JOIN
Croisement de Témoignages
Une seule table raconte rarement toute l'histoire. Les jointures relient deux tables grâce à une colonne commune : la clé primaire d'un côté, la clé étrangère de l'autre.
Clés primaires et étrangères
La clé primaire (PK) identifie de façon unique chaque ligne d'une table. La clé étrangère (FK) est une colonne qui pointe vers la clé d'une autre table. Le schéma dans la barre latérale les montre : PK en ambre, FK en vert, et un trait relie les deux.
INNER JOIN : seulement les correspondances
SELECT e.emplacement, c.nom, c.prenom
FROM empreintes e
INNER JOIN cartes_identite c
ON e.code_empreinte = c.code_empreinte;eetcsont des alias de tables : plus court à écrire.ONindique la condition qui relie les lignes des deux tables.INNER JOINne garde que les lignes qui ont une correspondance des deux côtés.
LEFT JOIN : garder toute la table de gauche
LEFT JOIN conserve toutes les lignes de la table de gauche (celle du FROM). Quand il n'y a pas de correspondance à droite, les colonnes de droite valent NULL.
SELECT e.id, e.emplacement, c.nom
FROM empreintes e
LEFT JOIN cartes_identite c
ON e.code_empreinte = c.code_empreinte;SELECT e.id, e.emplacement
FROM empreintes e
LEFT JOIN cartes_identite c
ON e.code_empreinte = c.code_empreinte
WHERE c.id IS NULL;À toi de jouer : Exercice guidé
Pour chaque personne du fichier des cartes d'identité, affiche son nom et l'emplacement de son empreinte, avec NULL si on n'a rien relevé à son nom. Complète les ___.