Quels types de JOIN connaissez-vous et en quoi diffèrent-ils?
sobes.tech IA
Réponse de l'IA
Les principaux types de JOIN en SQL et leurs différences:
-
INNER JOIN — ne renvoie que les enregistrements ayant des correspondances dans les deux tables selon la condition de jointure.
-
LEFT JOIN (LEFT OUTER JOIN) — renvoie tous les enregistrements de la table de gauche et les correspondances de la droite. Si aucune correspondance, les champs de la table de droite seront NULL.
-
RIGHT JOIN (RIGHT OUTER JOIN) — renvoie tous les enregistrements de la table de droite et les correspondances de la gauche.
-
FULL JOIN (FULL OUTER JOIN) — renvoie tous les enregistrements des deux tables, qu'ils correspondent ou non, avec NULL là où il n'y a pas de données.
-
CROSS JOIN — produit cartésien de deux tables, renvoyant toutes les combinaisons possibles de lignes.
Exemple:
-- INNER JOIN
SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- LEFT JOIN
SELECT * FROM A LEFT JOIN B ON A.id = B.a_id;
-- RIGHT JOIN
SELECT * FROM A RIGHT JOIN B ON A.id = B.a_id;
-- FULL JOIN
SELECT * FROM A FULL JOIN B ON A.id = B.a_id;
-- CROSS JOIN
SELECT * FROM A CROSS JOIN B;
Le choix du JOIN dépend des données à obtenir et de la gestion des correspondances manquantes.