JOIN (INNER et LEFT)
Combiner les lignes de deux tables quand une clé correspond. Une jointure interne (INNER) ne garde que les correspondances ; une jointure gauche (LEFT) garde chaque ligne de la table de gauche.
Syntaxe
SELECT … FROM a JOIN b ON a.key = b.key;SELECT … FROM a LEFT JOIN b ON a.key = b.key;
Exemple
SELECT c.last_name, o.order_date FROM customers AS c JOIN orders AS o ON o.customer_id = c.customer_id;
Chaque commande avec le nom de famille de son client. Les commandes sans client sont exclues.
Tables utilisées : customers, orders. Essayez-le dans une leçon ci-dessous.
Erreurs courantes
- Oublier la condition ON produit une jointure croisée : chaque ligne est associée à chaque autre ligne.
- Filtrer la table de droite dans WHERE transforme un LEFT JOIN en jointure interne.