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.

Pratiquer