Accéder au contenu principal

SQL LEFT JOIN vs LEFT OUTER JOIN : ce qu’il faut savoir

LEFT JOIN et LEFT OUTER JOIN en SQL sont identiques, sans aucune différence fonctionnelle. Poursuivez votre lecture pour découvrir des exemples pratiques et apprendre à les utiliser efficacement dans vos requêtes.
Actualisé 19 sept. 2026  · 4 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

Comprendre les subtilités des jointures SQL est indispensable pour toute personne travaillant avec des bases de données relationnelles. Dans ce tutoriel, nous allons examiner de près LEFT JOIN et LEFT OUTER JOIN en SQL.

Et si vous souhaitez maîtriser SQL et passer au niveau supérieur en requêtage, inscrivez-vous à un cours comme Joining Data in SQL qui vous aidera vraiment à comprendre les différences subtiles mais importantes entre les jointures sur une table et sur deux tables. 

Amélioration de SQL pour les débutants

Acquérir les compétences SQL pour interagir avec vos données et les interroger.
Commencez À Apprendre Gratuitement

LEFT JOIN vs LEFT OUTER JOIN

Il n’y a aucune différence entre un LEFT JOIN et un LEFT OUTER JOIN. Ce sont des fonctions SQL interchangeables. Elles effectuent exactement le même travail : récupérer toutes les lignes de la table de gauche et les lignes correspondantes de la table de droite.

Voyons un exemple concret pour vérifier par nous‑mêmes que LEFT JOIN et LEFT OUTER JOIN sont équivalents. Pour cela, nous allons créer et utiliser deux tables d’exemple : Employees et Departments.

CREATE TABLE Departments (
    DepartmentID INT PRIMARY KEY,
    DepartmentName VARCHAR(50)
);
INSERT INTO Departments (DepartmentID, DepartmentName) VALUES
(1, 'HR'),
(2, 'IT'),
(3, 'Finance'),
(4, 'Marketing');
CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    EmployeeName VARCHAR(50),
    DepartmentID INT,
    FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
);
INSERT INTO Employees (EmployeeID, EmployeeName, DepartmentID) VALUES
(1, 'Alice', 1),
(2, 'Bob', 2),
(3, 'Charlie', NULL),
(4, 'David', 3);

LEFT JOIN

Maintenant que nos deux tables sont prêtes, lançons une requête avec un LEFT JOIN.

SELECT Employees.EmployeeID, Employees.EmployeeName, 
Departments.DepartmentName
FROM Employees
LEFT JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

Output from the <code624

Résultat de la fonction LEFT JOIN. Image par l’auteur 

Notre requête avec LEFT JOIN renvoie toutes les lignes de la table de gauche, Employees, et les lignes correspondantes de la table de droite, Departments. En l’absence de correspondance, des valeurs NULL (ou manquantes) sont retournées pour les colonnes de la table Departments, qui est celle de droite.

LEFT OUTER JOIN

Essayons maintenant avec LEFT OUTER JOIN :

SELECT Employees.EmployeeID, Employees.EmployeeName, Departments.DepartmentName
FROM Employees
LEFT OUTER JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

Output from the <code589

Résultat de la fonction LEFT OUTER JOIN. Image par l’auteur

Vous pouvez constater que les deux requêtes produisent le même résultat. 

Cas d’usage de LEFT JOIN ou LEFT OUTER JOIN

LEFT JOIN / LEFT OUTER JOIN est extrêmement utile dans de nombreux scénarios. En voici quelques exemples.

  • Identifier les enregistrements non appariés : vous pouvez utiliser un LEFT JOIN ou LEFT OUTER JOIN pour trouver les enregistrements d’une table qui n’ont pas de correspondance dans une autre. Dans la requête ci‑dessus, vous voyez que c’est notre ami Charlie qui n’a été rattaché à aucun service.

  • Vérifications d’intégrité des données : vous pouvez utiliser LEFT JOIN ou LEFT OUTER JOIN pour contrôler la cohérence des données entre tables en recherchant les enregistrements manquants ou incohérents. Par exemple, nous aurions pu ajouter une clause WHERE pour ne conserver que les lignes où Departments.DepartmentID est NULL ou manquant.

  • Combiner des données liées : utilisez LEFT JOIN ou LEFT OUTER JOIN pour regrouper des données issues de tables liées dans un rapport unique et complet. Cette approche agrège des informations provenant de plusieurs sources, offrant une vue d’ensemble complète de vos données.

Considérations de performance et techniques avancées

Même si LEFT JOIN et LEFT OUTER JOIN sont simples à utiliser, plusieurs points de performance et techniques avancées sont à garder à l’esprit.

Impact sur les performances des requêtes

LEFT JOIN / LEFT OUTER JOIN peut avoir un impact sur les performances avec de grands volumes de données. À mesure que le nombre de lignes augmente, le temps nécessaire pour traiter la jointure et récupérer les résultats s’allonge. Il est donc essentiel de tenir compte de la taille des tables concernées et d’optimiser vos requêtes pour l’efficacité.

Stratégies d’indexation pour améliorer les performances

L’utilisation d’index sur les colonnes impliquées dans les conditions de jointure peut nettement accélérer le traitement. Un index aide la base à retrouver et apparier rapidement les lignes entre tables. Par exemple, si vous joignez souvent sur DepartmentID, créer un index sur la colonne DepartmentID dans les deux tables accélérera le processus, rendant vos requêtes plus efficaces et réactives.

Comparer avec d’autres types de jointures

Savoir quand utiliser les différentes jointures (INNER JOIN, RIGHT JOIN, FULL OUTER JOIN) est important pour optimiser vos requêtes. LEFT JOIN ou LEFT OUTER JOIN est particulièrement utile lorsque vous avez besoin de toutes les lignes de la table de gauche. Si vous n’en avez pas besoin, envisagez un autre type de jointure.

Utilisation avec des sous‑requêtes

Les sous‑requêtes, aussi appelées requêtes imbriquées, sont utiles pour des récupérations de données complexes. Associées à LEFT JOIN ou LEFT OUTER JOIN, elles permettent de filtrer et d’agréger les données, de joindre conditionnellement des tables et de décomposer des requêtes complexes en blocs plus gérables.

Pour conclure

Il est essentiel de comprendre les fonctions LEFT JOIN et LEFT OUTER JOIN en SQL pour une gestion, un reporting et une analyse des données efficaces. Bien qu’elles soient identiques fonctionnellement, connaître leurs cas d’usage, leurs implications en termes de performance et quelques techniques avancées vous aidera à les utiliser au mieux. Pour aller plus loin, explorez les ressources suivantes :

  • Introduction to SQL : apprenez à créer et interroger des bases relationnelles avec SQL.
  • SQL Fundamentals : acquérez les fondamentaux de SQL pour interagir avec vos données et les interroger. 
  • Learn SQL : maîtrisez un langage de programmation très recherché pour gérer des données dans des bases relationnelles.
  • Reporting in  SQL : avec ce cours pratique, apprenez à construire vos propres rapports et tableaux de bord SQL, et développez vos compétences d’exploration, de nettoyage et de validation des données.

Obtenez une certification SQL de haut niveau

Démontrez vos compétences de base en SQL et faites progresser votre carrière dans le domaine des données.

Vikash Singh's photo
Author
Vikash Singh
LinkedIn

Professionnel chevronné de la science des données, de l'intelligence artificielle, de l'analyse et de la stratégie des données.

Questions fréquentes sur SQL

Quelle est la différence entre LEFT JOIN et LEFT OUTER JOIN ?

Aucune différence : LEFT JOIN et LEFT OUTER JOIN remplissent la même fonction et s’emploient indifféremment.

Quand dois‑je utiliser un LEFT JOIN ?

Utilisez LEFT JOIN lorsque vous avez besoin de toutes les lignes de la table de gauche et des lignes correspondantes de la table de droite. Les enregistrements non appariés de la table de droite auront des valeurs NULL.

Un LEFT JOIN renverra‑t‑il plus de lignes que la table de gauche ?

Non. LEFT JOIN renvoie toutes les lignes de la table de gauche et les lignes correspondantes de la table de droite. Il n’augmente pas le nombre de lignes de la table de gauche.

Comment gérer les valeurs NULL dans les résultats d’un LEFT JOIN ?

Vous pouvez utiliser la fonction COALESCE pour remplacer les valeurs manquantes par une valeur par défaut dans le jeu de résultats.

Quels sont les cas d’usage courants d’un LEFT JOIN ?

Les cas d’usage courants incluent l’identification des enregistrements non appariés, les contrôles d’intégrité des données et la combinaison de jeux de données dans des processus ETL.

Sujets
SQL
Analyse des données

Apprenez SQL avec DataCamp

Cours

Assembler des données en SQL

4 h
339K
Perfectionnez vos compétences SQL en joignant des tables, en appliquant la théorie des ensembles et en utilisant des sous-requêtes.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow