JOIN объединяет строки из двух таблиц по связанным полям. Основные виды — INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN; они различаются тем, какие строки сохраняются, если совпадения не найдено.
JOIN объединяет строки из двух таблиц по связанным полям. Основные виды — INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN; они различаются тем, какие строки сохраняются, если совпадения не найдено.
Что такое JOIN
JOIN — это способ соединить данные из двух таблиц по общему полю. Обычно это связано с ключами, например users.id и orders.user_id.
INNER JOIN
INNER JOIN возвращает только те строки, для которых есть совпадение в обеих таблицах. Если соответствия нет, строка не попадёт в результат.
LEFT JOIN
LEFT JOIN возвращает все строки из левой таблицы и только совпавшие строки из правой. Если совпадения нет, поля правой таблицы будут NULL.
RIGHT JOIN
RIGHT JOIN работает наоборот: сохраняет все строки из правой таблицы и подставляет совпавшие строки из левой.
FULL JOIN
FULL JOIN возвращает все строки из обеих таблиц: совпавшие объединяет, а несовпавшие дополняет NULL там, где пары нет.
Пример
SELECT users.id, users.name, orders.id AS order_id
FROM users
LEFT JOIN orders ON users.id = orders.user_id;Этот запрос покажет всех пользователей, даже если у некоторых из них нет заказов.
Как ответить на собеседовании
Я бы сказал, что JOIN нужен для объединения связанных данных из разных таблиц. INNER JOIN оставляет только совпавшие строки, LEFT JOIN сохраняет все строки слева, RIGHT JOIN — все строки справа, а FULL JOIN — все строки из обеих таблиц.
Оцени свой прогресс