Назад к вопросам
Junior
81
questionbank
Что такое левое соединение (left join) в SQL?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Левое соединение (LEFT JOIN или LEFT OUTER JOIN) в SQL возвращает все строки из "левой" таблицы и соответствующие строки из "правой" таблицы. Если соответствия в правой таблице не найдено, для столбцов правой таблицы будут возвращены значения NULL.
-
Синтаксис:
SELECT column_list FROM table1 -- Левая таблица LEFT JOIN table2 ON table1.column = table2.column; -
Результат:
- Все строки из
table1. - Соответствующие строки из
table2. - Для строк из
table1, у которых нет соответствия вtable2, столбцыtable2будут содержать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