Sobes.tech
Senior

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.