🟢 Введение
LEFT JOIN (или LEFT OUTER JOIN) используется для объединения двух таблиц, при котором:
Сохраняются все строки из левой таблицы
Из правой таблицы берутся только совпадающие записи
Если совпадения нет — в столбцах правой таблицы будет NULL
Этот тип объединения незаменим, когда нужно сохранить основную информацию, даже если дополнительных данных нет.
🔤 Написание
Базовый синтаксис:
Пример:
🔄 Где часто используется
Когда важны все строки из основной таблицы
При поиске записей без связей в другой таблице
В аналитике (например, сотрудники без заказов, товары без продаж)
В бизнес-логике, где важна полнота левой стороны
В отчетах, где нужны NULL-значения для отсутствующих данных
🧪 10 Примеров использования LEFT с пояснениями
1️⃣ LEFT JOIN с отсутствующими отделами
Показывает всех сотрудников, включая тех, у кого нет отдела.
2️⃣ Поиск сотрудников без отдела
Показывает только тех, кто «потерян» — не привязан к отделу.
3️⃣ LEFT JOIN с заказами без оплаты
Показывает все заказы, даже если не оплачены.
4️⃣ LEFT JOIN с агрегацией
Сколько сотрудников в каждом отделе, включая пустые.
5️⃣ LEFT JOIN в отчете
Все клиенты, даже если они ещё не делали заказов.
6️⃣ LEFT JOIN с условием в ON
Ищем рабочий телефон, но показываем сотрудника даже без него.
7️⃣ LEFT JOIN с фильтром по левой таблице
Сохраняется только условие для левой таблицы.
8️⃣ LEFT JOIN во VIEW
Создание представления, включающего сотрудников без отдела.
9️⃣ LEFT JOIN с несколькими связями
Сохраняются все клиенты, даже без заказов и товаров.
🔟 LEFT JOIN для выявления «сиротских» записей
Отделы, в которых никто не работает.
🧩 Заключение
LEFT JOIN — мощный способ объединять таблицы с сохранением всех записей из основной таблицы.
Он идеально подходит для анализа неполных данных, составления отчётов и нахождения несвязанных записей.
🔜 Следующая статья:
Оператор RIGHT в Oracle SQL — как получить все строки из правой таблицы, даже если связей нет