Sobes.tech
Junior

Qu'est-ce qu'une jointure gauche (left join) en SQL?

sobes.tech IA

Réponse de l'IA

La jointure gauche (LEFT JOIN ou LEFT OUTER JOIN) en SQL est utilisée pour combiner des lignes de deux tables.

Le résultat de LEFT JOIN inclut :

  • Toutes les lignes de la table de gauche (première).
  • Les lignes correspondantes de la table de droite (deuxième), où la condition de jointure est remplie.
  • Pour les lignes de la table de gauche sans correspondance dans la droite, les colonnes de la table de droite contiendront des valeurs NULL.

Exemple de syntaxe :

SELECT <liste_des_colonnes>
FROM <table_gauche> AS L
LEFT JOIN <table_droite> AS R ON L.<colonne_de_jointure> = R.<colonne_de_jointure>;

Mode de fonctionnement :

Chaque ligne de la table de gauche est parcourue. Pour chaque ligne, une recherche de correspondance est effectuée dans la table de droite selon la condition ON.

  • Si des correspondances sont trouvées, la ligne de la table de gauche est combinée avec toutes les lignes correspondantes de la table de droite.
  • Si aucune correspondance n'est trouvée, la ligne de la table de gauche est incluse dans le résultat, et les colonnes de la table de droite sont remplies avec NULL.

Représentation visuelle :

Imaginez deux ensembles de données : Left (table de gauche) et Right (table de droite). LEFT JOIN retourne tous les éléments de Left, ainsi que ceux de Right qui ont une correspondance dans Left. Si certains éléments de Left n'ont pas de correspondance dans Right, ces éléments seront toujours inclus dans le résultat, mais leurs champs correspondants de Right seront vides (NULL).

Comparaison avec d'autres types de JOIN :

Type de JOIN Description
INNER JOIN Retourne uniquement les lignes où il y a une correspondance entre les deux tables.
LEFT JOIN Retourne toutes les lignes de la table de gauche et les lignes correspondantes de la droite. NULL pour celles sans correspondance dans la droite.
RIGHT JOIN Retourne toutes les lignes de la table de droite et les lignes correspondantes de la gauche. NULL pour celles sans correspondance dans la gauche.
FULL OUTER JOIN Retourne toutes les lignes où il y a une correspondance dans l'une ou l'autre des tables. NULL pour celles sans correspondance dans les deux tables.

Ainsi, LEFT JOIN est utile lorsque vous souhaitez obtenir une liste complète des enregistrements d'une table et les compléter avec des informations d'une autre table, même si tous les enregistrements n'ont pas de données correspondantes.