Sobes.tech
Junior

Mi az a bal oldali összekapcsolás (left join) SQL-ben?

sobes.tech MI

Válasz az MI-től

A LEFT JOIN vagy LEFT OUTER JOIN SQL-ben minden sort visszaad a "bal" táblából és a "jobb" tábla megfelelő sorait. Ha nem található megfelelés a jobb táblában, a jobb tábla oszlopainak értékei NULL-ok lesznek.

  • Szintaxis:

    SELECT oszlop_lista
    FROM tabla1  -- Bal tábla
    LEFT JOIN tabla2 ON tabla1.oszlop = tabla2.oszlop;
    
  • Eredmény:

    • Minden sor a tabla1-ből.
    • A megfelelő sorok a tabla2-ből.
    • A tabla1-ből származó sorok esetén, amelyekhez nincs megfelelés a tabla2-ben, a tabla2 oszlopai NULL-ok lesznek.
  • Példa:

    Tegyük fel, hogy két táblánk van: Orders és Customers. Szeretnénk listát kapni minden rendelésről és az ügyfelekről, akik leadták azokat. Ha egy rendeléshez nincs ügyfél (pl. törölve), akkor is látni akarjuk ezt a rendelést.

    -- Orders tábla
    -- OrderID | CustomerID | OrderDate
    -- 1       | 101        | 2023-10-26
    -- 2       | 102        | 2023-10-26
    -- 3       | NULL       | 2023-10-27
    
    -- Customers tábla
    -- 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