Ответ
В стандартном SQL определены следующие основные типы JOIN:
| Тип JOIN | Описание |
|---|---|
INNER JOIN |
Возвращает только строки, где есть совпадение в обеих таблицах. |
LEFT (OUTER) JOIN |
Возвращает все строки из левой таблицы и совпадающие строки из правой. Если совпадения нет, поля правой таблицы будут NULL. |
RIGHT (OUTER) JOIN |
Возвращает все строки из правой таблицы и совпадающие строки из левой. Если совпадения нет, поля левой таблицы будут NULL. |
FULL (OUTER) JOIN |
Возвращает строки при наличии совпадения в любой из таблиц. Это комбинация LEFT и RIGHT JOIN. |
CROSS JOIN |
Возвращает декартово произведение строк обеих таблиц (каждую строку из таблицы A с каждой строкой из таблицы B). |
Дополнительные варианты:
SELF JOIN— соединение таблицы с самой собой (используется псевдонимы).NATURAL JOIN— неявное соединение по столбцам с одинаковыми именами (использовать не рекомендуется из-за непредсказуемости).
Пример INNER JOIN:
SELECT o.id AS order_id, c.name AS customer_name
FROM orders o
INNER JOIN customers c ON o.customer_id = c.id;
Почему важно понимать различия? Выбор правильного типа JOIN напрямую влияет на корректность и полноту возвращаемых данных.