Back to questions
ГК Иннотех
Middle
11
Что такое JOIN? Какие виды JOIN существуют и в чём их отличия?
Companies where asked
Answer from AI
sobes.tech AI
JOIN — это операция в SQL, которая позволяет объединять строки из двух или более таблиц на основе связанного между ними условия.
Основные виды JOIN:
- INNER JOIN — возвращает только те записи, у которых есть совпадения в обеих таблицах.
- LEFT JOIN (LEFT OUTER JOIN) — возвращает все записи из левой таблицы и совпадающие из правой; если совпадений нет, в правой части будут NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — наоборот, все из правой таблицы и совпадающие из левой.
- FULL JOIN (FULL OUTER JOIN) — возвращает все записи из обеих таблиц, заполняя NULL там, где нет совпадений.
- CROSS JOIN — декартово произведение, возвращает все возможные комбинации строк из обеих таблиц.
Отличия в том, какие строки включаются в результат при отсутствии совпадений:
- INNER JOIN исключает их.
- LEFT/RIGHT JOIN включают все из одной таблицы и совпадающие из другой.
- FULL JOIN включает все из обеих.
Пример INNER JOIN:
SELECT users.name, orders.id
FROM users
INNER JOIN orders ON users.id = orders.user_id;
Этот запрос вернёт пользователей, у которых есть заказы.