Junior
Kas ir kreisējā savienojuma (left join) SQL?
sobes.tech AI
Atbilde no AI
SQL LEFT JOIN vai LEFT OUTER JOIN atgriež visus "kreisās" tabulas datus un atbilstošos "labās" tabulas datus. Ja labajā tabulā nav atrasta atbilstība, labās tabulas kolonnu vērtības būs NULL.
-
Sintakse:
SELECT kolonnu_saraksts FROM tabula1 -- Kreisā tabula LEFT JOIN tabula2 ON tabula1.kolonna = tabula2.kolonna; -
Rezultāts:
- Visas rindas no
tabula1. - Atbilstošās rindas no
tabula2. - Rindām no
tabula1, kur nav atbilstībastabula2,tabula2kolonnas būsNULL.
- Visas rindas no
-
Piemērs:
Pieņemsim, ka mums ir divas tabulas:
OrdersunCustomers. Mēs vēlamies iegūt visu pasūtījumu sarakstu un informāciju par klientiem, kuri tos veica. Ja pasūtījumam nav klienta (piemēram, dzēsts), mēs joprojām vēlamies redzēt šo pasūtījumu:-- Orders tabula -- OrderID | CustomerID | OrderDate -- 1 | 101 | 2023-10-26 -- 2 | 102 | 2023-10-26 -- 3 | NULL | 2023-10-27 -- Customers tabula -- 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