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 renvoie toutes les lignes de la "gauche" et les lignes correspondantes de la "droite". Si aucune correspondance n'est trouvée dans la table de droite, les valeurs des colonnes de la table de droite seront NULL.

  • Syntaxe :

    SELECT liste_de_colonnes
    FROM table1  -- Table de gauche
    LEFT JOIN table2 ON table1.colonne = table2.colonne;
    
  • Résultat :

    • Toutes les lignes de table1.
    • Les lignes correspondantes de table2.
    • Pour les lignes de table1 sans correspondance dans table2, les colonnes de table2 contiendront NULL.
  • Exemple :

    Supposons que nous ayons deux tables : Orders et Customers. Nous voulons obtenir une liste de toutes les commandes et les informations sur les clients qui les ont passées. Si une commande n'a pas de client (par exemple, supprimé), nous voulons quand même voir cette commande.

    -- Table Orders
    -- OrderID | CustomerID | OrderDate
    -- 1       | 101        | 2023-10-26
    -- 2       | 102        | 2023-10-26
    -- 3       | NULL       | 2023-10-27
    
    -- Table Customers
    -- CustomerID | CustomerName
    -- 101        | Alice
    -- 102        | Bob
    
    SELECT
        O.OrderID,
        C.CustomerName
    FROM
        Orders AS O
    LEFT JOIN
        Customers AS C ON O.CustomerID = C.CustomerID;
    
    OrderID CustomerName
    1 Alice
    2 Bob
    3 NULL