Junior
Какво е лево свързване (left join) в SQL?
sobes.tech AI
Отговор от AI
Ляво съединение (LEFT JOIN или LEFT OUTER JOIN) в SQL връща всички редове от "лявата" таблица и съответните редове от "дясната" таблица. Ако не бъде намерено съвпадение в дясната таблица, стойностите на колоните от дясната таблица ще бъдат NULL.
-
Синтаксис:
SELECT списък_на_колони FROM таблица1 -- Лява таблица LEFT JOIN таблица2 ON таблица1.колона = таблица2.колона; -
Резултат:
- Всички редове от
таблица1. - Съответните редове от
таблица2. - За редове от
таблица1, които нямат съвпадение втаблица2, колоните натаблица2ще съдържатNULL.
- Всички редове от
-
Пример:
Да предположим, че имаме две таблици:
OrdersиCustomers. Искаме да получим списък с всички поръчки и информация за клиентите, които са ги направили. Ако поръчката няма клиент (например, изтрит), все пак искаме да видим тази поръчка.-- Таблица Orders -- OrderID | CustomerID | OrderDate -- 1 | 101 | 2023-10-26 -- 2 | 102 | 2023-10-26 -- 3 | NULL | 2023-10-27 -- Таблица 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