В чем разница между left join и right join?
Прочитал теорию, попробовал.
LEFT JOIN Выбирает из первой таблицы все записи и присоединяет к ним записи из второй таблицы, по указанным для сравнения колонкам. Если не находит, то присоединяет null.
RIGHT JOIN Аналогично LEFT JOIN но наоборот - выбирает из второй таблицы все записи и присоединяет к ним записи из первой таблицы, по указанным для сравнения колонкам. Если не находит, то присоединяет null.
Из определений, согласно формальной логике, следует вывод, что достаточно одного джоина, например левого.
Эти запросы выведут абсолютно одинаковые таблицы. Разница лишь в следовании полей, что в запросах не имеет никакого значения.
SELECT * FROM job LEFT JOIN persons ON persons.job_title = job.job_title;
SELECT * FROM persons RIGHT JOIN job ON persons.job_title = job.job_title;
В чем разница между left join и right join?
Источник: Stack Overflow на русском