JOIN en SQL est une clause utilisée pour combiner des lignes de deux tables ou plus sur la base d’une colonne contenant des valeurs liées. Son objectif principal est d’obtenir un ensemble de données avec des informations complètes et exhaustives. « Complet » fait référence ici à la structure des données obtenue par la combinaison des colonnes issues de la relation entre ces tables.
Pour répondre aux divers besoins d’extraction de données, la commande JOIN est divisée en plusieurs types : OUTER JOIN, INNER JOIN, RIGHT JOIN et LEFT JOIN.
Différences entre les types de JOIN en SQL
Voici une explication des différentes clauses JOIN accompagnée d’exemples de syntaxe pour vous aider à comprendre leurs différences :
1. FULL OUTER JOIN
La clause Outer join (ou Full Outer Join) retourne tous les enregistrements ou lignes, qu’ils aient des valeurs correspondantes ou non, dans les deux tables combinées. S’il n’y a pas de correspondance de données entre les deux tables, la partie manquante est automatiquement remplie avec la valeur NULL dans le résultat du join.
Syntaxe :
SQL
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
2. LEFT JOIN
La clause Left Join est une opération qui retourne tous les enregistrements de la table de gauche (la première table) parmi les deux tables combinées. Toutes les données de la table de gauche sont conservées et affichées, même si les valeurs de la table de gauche ne correspondent à aucune donnée de la table de droite (la deuxième table). Les données de la table de droite qui n’ont pas de correspondance sont remplacées par NULL.
Syntaxe :
SQL
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
3. RIGHT JOIN (Complément)
En tant qu’opposé du Left Join, la clause Right Join retourne tous les enregistrements de la table de droite (la deuxième table), ainsi que les données correspondantes de la table de gauche. S’il n’y a aucune donnée correspondante dans la table de gauche, le résultat du côté gauche sera NULL.
Syntaxe :
SQL
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
4. INNER JOIN (Complément)
Inner Join est le type de clause le plus fréquemment utilisé. Contrairement à Outer Join, Inner Join fonctionne de manière plus stricte en ne retournant que les lignes dont les données correspondent (l’intersection) dans les deux tables combinées.
Syntaxe :
SQL
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;






