RIGHT JOIN

Базовый SQL
≈ 1 мин чтения

RIGHT JOIN сохраняет всю правую таблицу

RIGHT JOIN — зеркальный вариант LEFT JOIN. Все строки правого источника сохраняются, а при отсутствии пары слева его столбцы получают NULL.

SELECT u.name, o.id AS order_id
FROM users AS u
RIGHT JOIN orders AS o ON o.user_id = u.id;

Запрос сохраняет все заказы из правой таблицы orders. Если соответствующий пользователь не найден, столбцы пользователя в результате будут пустыми в смысле NULL.

RIGHT JOIN часто можно переписать как LEFT JOIN

Если поменять таблицы местами, ту же идею обычно можно выразить через LEFT JOIN. Поэтому многие команды разработки предпочитают единый стиль с LEFT JOIN: направление соединения легче читать.

RIGHT JOIN — не «особый» тип связи. Он отличается от LEFT JOIN только тем, какую сторону соединения нужно сохранить целиком.