Bases de données · FICHE DE RÉVISION
Relier les tables avec les jointures
Associer les lignes et comprendre les résultats d’une jointure.
Associer des données
Une jointure combine des colonnes de plusieurs tables à partir d’une condition de correspondance. Les alias raccourcissent les noms et lèvent les ambiguïtés.
SQL
SELECT co.id_commande, c.nom, co.montant
FROM commande co
INNER JOIN client c ON c.id_client = co.id_client;Choisir les lignes conservées
| Jointure | Lignes présentes |
|---|---|
| INNER JOIN | Seulement les correspondances. |
| LEFT JOIN | Toutes les lignes de gauche, avec NULL à droite si aucune correspondance. |
| RIGHT JOIN | Toutes les lignes de droite, même sans correspondance à gauche. |
| FULL OUTER JOIN | Toutes les lignes des deux côtés ; disponibilité selon le SGBD. |
| CROSS JOIN | Toutes les combinaisons possibles. |
Repérer les lignes sans relation
SQL
SELECT c.id_client, c.nom
FROM client c
LEFT JOIN commande co ON co.id_client = c.id_client
WHERE co.id_commande IS NULL;Ici, id_commande est une clé non nulle : son absence dans le résultat indique qu’aucune commande ne correspond au client.
Pourquoi un client apparaît-il trois fois dans une jointure avec ses commandes ?
Il possède trois commandes. Le résultat contient une ligne par association client–commande, pas une ligne par client.