RIGHT JOIN et FULL JOIN
Un RIGHT JOIN garde chaque ligne de la table de droite. Un FULL JOIN garde les lignes sans correspondance des deux tables.
Syntaxe
SELECT … FROM a RIGHT JOIN b ON a.key = b.key;SELECT … FROM a FULL JOIN b ON a.key = b.key;
- Lorsqu'une ligne n'a pas de correspondance, les colonnes de l'autre table valent NULL.
Exemple
SELECT c.last_name, o.order_id FROM customers AS c FULL JOIN orders AS o ON o.customer_id = c.customer_id;
Chaque commande et chaque client ; les côtés sans correspondance affichent NULL.
Tables utilisées : customers, orders. Essayez-le dans une leçon ci-dessous.
Erreurs courantes
- Une condition sur la table de droite dans WHERE supprime les lignes NULL. Placez-la dans ON à la place.