Junior
Co je to levé spojení (left join) v SQL?
sobes.tech AI
Odpověď od AI
Levé spojení (LEFT JOIN nebo LEFT OUTER JOIN) v SQL vrací všechny řádky z "levé" tabulky a odpovídající řádky z "pravé" tabulky. Pokud není nalezena shoda v pravé tabulce, hodnoty sloupců pravé tabulky budou NULL.
-
Syntaxe:
SELECT seznam_sloupců FROM tabulka1 -- Levá tabulka LEFT JOIN tabulka2 ON tabulka1.sloupec = tabulka2.sloupec; -
Výsledek:
- Všechny řádky z
tabulka1. - Odpovídající řádky z
tabulka2. - Pro řádky z
tabulka1, které nemají shodu vtabulka2, budou sloupcetabulka2obsahovatNULL.
- Všechny řádky z
-
Příklad:
Předpokládejme, že máme dvě tabulky:
OrdersaCustomers. Chceme získat seznam všech objednávek a informace o zákaznících, kteří je provedli. Pokud objednávka nemá zákazníka (například smazaného), chceme i tak vidět tuto objednávku.-- Tabulka Orders -- OrderID | CustomerID | OrderDate -- 1 | 101 | 2023-10-26 -- 2 | 102 | 2023-10-26 -- 3 | NULL | 2023-10-27 -- Tabulka 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