Référence rapide

Aide-mémoire SQL Joins

Guide rapide pour les jointures de tables SQL : INNER JOIN, LEFT JOIN, RIGHT JOIN et FULL OUTER JOIN avec syntaxe et logique de Venn.

· Publié le

Exemple de syntaxe

SELECT order_items.id, orders.order_date, order_items.price
FROM order_items
LEFT OUTER JOIN orders
  ON order_items.order_id = orders.id;

Les jointures (Joins) combinent les lignes de deux ou plusieurs tables en se basant sur une colonne commune.

Visualisation des jointures

SELECT * FROM `A` INNER JOIN `B`
┌────────┐
│ A  ┌───┼────┐
│    │ ∩ │    │
└────┼───┘  B │
     └────────┘
Type de jointure Données incluses Description
INNER JOIN ∩ Renvoie les enregistrements ayant des valeurs correspondantes dans les deux tables
LEFT OUTER JOIN A + ∩ Renvoie tous les enregistrements de la table A et les correspondances de la table B
RIGHT OUTER JOIN ∩ + B Renvoie tous les enregistrements de la table B et les correspondances de la table A
FULL OUTER JOIN A + ∩ + B Renvoie tous les enregistrements dès qu'il y a correspondance à gauche ou à droite

Variantes de jointures et filtres

Left Join excluant l'intersection

SELECT * FROM A
LEFT JOIN B ON A.key = B.key
WHERE B.key IS NULL;

Right Join excluant l'intersection

SELECT * FROM A
RIGHT JOIN B ON A.key = B.key
WHERE A.key IS NULL;

Full Outer Join excluant l'intersection

SELECT * FROM A
FULL OUTER JOIN B ON A.key = B.key
WHERE A.key IS NULL OR B.key IS NULL;

Sujets associés