Junior
Mis on vasakpoolne ühendus (left join) SQL-is?
sobes.tech AI
Vastus AI-lt
SQL vasak liit (LEFT JOIN või LEFT OUTER JOIN) tagastab kõik read "vasakust" tabelist ja vastavad read "paremast" tabelist. Kui paremas tabelis ei leidu vastavust, on parema tabeli veergude väärtused NULL.
-
Süntaks:
SELECT veergude_loend FROM tabel1 -- Vasak tabel LEFT JOIN tabel2 ON tabel1.veerg = tabel2.veerg; -
Tulemus:
- Kõik read
tabel1-st. - Vastavad read
tabel2-st. - Ridade puhul
tabel1, millele ei leidu vastavusttabel2-s,tabel2veerud sisaldavadNULL.
- Kõik read
-
Näide:
Oletame, et meil on kaks tabelit:
OrdersjaCustomers. Soovime saada kõigi tellimuste nimekirja ja teavet klientide kohta, kes need teostasid. Kui tellimusel ei ole klienti (näiteks kustutatud), soovime siiski seda näha.-- Tabel Orders -- OrderID | CustomerID | OrderDate -- 1 | 101 | 2023-10-26 -- 2 | 102 | 2023-10-26 -- 3 | NULL | 2023-10-27 -- Tabel 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