INNER JOIN face à LEFT JOIN
« Quelle est la différence entre INNER JOIN et LEFT JOIN ? » est sans doute la question SQL la plus fréquente en entretien. Dans cette leçon, tu relies enfin les deux tables de la boutique : tu vois comment le customer_id d'une commande désigne un client, ce que renvoie chaque type de JOIN, pourquoi
INNER JOIN ne garde que les paires qui ont trouvé une correspondance. LEFT JOIN garde toutes les lignes de la table de gauche et met NULL là où il n'y a pas de correspondance.
- Clé étrangère
- Une colonne dont la valeur est une clé primaire d'une autre table, comme orders.customer_id qui pointe vers customers.id.
- INNER JOIN
- Une jointure qui ne renvoie que les paires de lignes des deux tables qui satisfont la condition ON.
- LEFT JOIN
- Une jointure qui renvoie toutes les lignes de la table de gauche, avec NULL dans les colonnes de la table de droite quand il n'y a pas de correspondance.
- Condition ON
- La condition qui décide quelles lignes des deux tables vont ensemble.