Sobes.tech
Junior

Čo je to LEFT JOIN v SQL?

sobes.tech AI

Odpoveď od AI

Ľavé spojenie (LEFT JOIN alebo LEFT OUTER JOIN) v SQL vráti všetky riadky z "ľavej" tabuľky a zodpovedajúce riadky z "pravej" tabuľky. Ak sa nenájde zhoda v pravej tabuľke, hodnoty stĺpcov pravej tabuľky budú NULL.

  • Syntax:

    SELECT zoznam_stĺpcov
    FROM tabuľka1  -- Ľavá tabuľka
    LEFT JOIN tabuľka2 ON tabuľka1.stĺpec = tabuľka2.stĺpec;
    
  • Výsledok:

    • Všetky riadky z tabuľka1.
    • Zodpovedajúce riadky z tabuľka2.
    • Pre riadky z tabuľka1, ktoré nemajú zhoda v tabuľka2, budú stĺpce tabuľka2 obsahovať NULL.
  • Príklad:

    Predpokladajme, že máme dve tabuľky: Orders a Customers. Chceme získať zoznam všetkých objednávok a informácie o zákazníkoch, ktorí ich vykonali. Ak objednávka nemá zákazníka (napríklad, vymazaného), stále ju chceme vidieť.

    -- Tabuľka Orders
    -- OrderID | CustomerID | OrderDate
    -- 1       | 101        | 2023-10-26
    -- 2       | 102        | 2023-10-26
    -- 3       | NULL       | 2023-10-27
    
    -- Tabuľka 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