Назад к вопросам
Junior
578
questionbank
Чем отличается LEFT JOIN от RIGHT JOIN?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
LEFT JOIN выбирает все строки из левой таблицы и соответствующие строки из правой. Если соответствия в правой таблице нет, для столбцов правой таблицы будут значения NULL.
RIGHT JOIN выбирает все строки из правой таблицы и соответствующие строки из левой. Если соответствия в левой таблице нет, для столбцов левой таблицы будут значения NULL.
Фактически, RIGH T JOIN — это зеркальное отражение LEFT JOIN. Результат RIGHT JOIN (таблица A JOIN таблица B) идентичен результату LEFT JOIN (таблица B JOIN таблица A) с переставленными столбцами.
Пример SQL:
-- LEFT JOIN
SELECT *
FROM ТаблицаА
LEFT JOIN ТаблицаБ ON ТаблицаА.id = ТаблицаБ.id;
-- RIGHT JOIN
SELECT *
FROM ТаблицаА
RIGHT JOIN ТаблицаБ ON ТаблицаА.id = ТаблицаБ.id;
Визуализация:
| Тип JOIN | Включаемые строки из левой таблицы | Включаемые строки из правой таблицы |
|---|---|---|
| LEFT JOIN | Все | Соответствующие (или NULL) |
| RIGHT JOIN | Соответствующие (или NULL) | Все |