← Retour à la référence SQL

LEFT JOIN

Catégorie : jointures

Jointure gauche qui retourne toutes les lignes de la table de gauche (table1) et les correspondances de la table de droite. Les non-correspondances donnent NULL.

📝 Syntaxe

SELECT colonnes FROM table1 LEFT JOIN table2 ON table1.colonne = table2.colonne

💡 Exemples

SELECT e.nom, c.nom_classe FROM élèves e LEFT JOIN classes c ON e.classe_id = c.id
Tous les élèves avec leur classe (même ceux sans classe assignée)

🎯 Exercice

Lister tous les produits, même ceux jamais commandés (tables: produits, commandes_details, colonne: produit_id)

Voir la solution
SELECT p.nom, cd.quantite FROM produits p LEFT JOIN commandes_details cd ON p.id = cd.produit_id

⚠️ Pièges courants

  • Confusion entre LEFT et RIGHT JOIN selon l'ordre des tables
  • Filtrer sur des colonnes de la table droite peut convertir implicitement en INNER JOIN
Pixel