Какие знаешь виды JOIN
Python
Senior
Без компании
Какие знаешь виды JOIN
Ответы
JOIN используется для объединения двух и более таблиц
**Виды JOIN:**
**1. INNER JOIN** (Внутреннее соединение)
**Что делает:** Возвращает только те записи, где есть совпадение в ОБЕИХ таблицах.
**Аналогия:** Пересечение двух множеств.
**2**. **LEFT JOIN** (Левое соединение)
**Что делает:** Возвращает ВСЕ записи из левой таблицы и совпадающие из правой. Если совпадений нет, правые поля будут `NULL`.
**Аналогия:** "Все пользователи и их заказы, если есть".
**3**. **RIGHT JOIN** (Правое соединение)
**Что делает:** Возвращает ВСЕ записи из правой таблицы и совпадающие из левой. Если совпадений нет, левые поля будут `NULL`.
**Аналогия:** "Все заказы и пользователи, которые их сделали".
**4**. **FULL JOIN** (Полное соединение)
**Что делает:** Возвращает ВСЕ записи из обеих таблиц. Совпадающие записи объединяются, а отсутствующие дополняются `NULL`.
**Аналогия:** Объединение двух множеств.
**5**. **CROSS JOIN** (Перекрёстное соединение)
**Что делает:** Возвращает **декартово произведение** строк двух таблиц. Каждая строка первой таблицы соединяется с каждой строкой второй.
**Когда использовать:** Когда нужно получить все возможные комбинации.
**6**. **SELF JOIN** (Самосоединение)
**Что делает:** Это не отдельный синтаксис, а техника, когда таблица соединяется **сама с собой**. Часто используется для иерархических данных.
**Пример:** Таблица сотрудников, где каждый имеет ссылку на руководителя.