Sobes.tech
Junior — Middle

Explique la différence entre INNER JOIN et OUTER JOIN en SQL et dans quelles situations chacun est utilisé.

sobes.tech IA

Réponse de l'IA

INNER JOIN ne renvoie que les lignes qui ont des correspondances dans les deux tables selon la condition de jointure.

OUTER JOIN renvoie toutes les lignes d'une table et les lignes correspondantes de l'autre. S'il n'y a pas de correspondance, les emplacements sans données seront NULL.

Types d'OUTER JOIN :

  • LEFT OUTER JOIN — toutes les lignes de la table de gauche + celles qui correspondent de la droite.
  • RIGHT OUTER JOIN — toutes les lignes de la table de droite + celles qui correspondent de la gauche.
  • FULL OUTER JOIN — toutes les lignes des deux tables, avec NULL là où il n'y a pas de correspondance.

Exemple d'utilisation :

  • INNER JOIN — lorsque seules les données liées sont nécessaires, par exemple, les commandes avec des clients existants.
  • LEFT OUTER JOIN — lorsque vous souhaitez obtenir tous les clients, y compris ceux sans commandes.

Exemple SQL :

SELECT customers.name, orders.id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;

Cette requête renverra tous les clients et leurs commandes, si elles existent, sinon NULL pour les commandes.