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