SELECT m.title, a.name
FROM movies m
LEFT JOIN movie_actors ma ON m.id = ma.movie_id
LEFT JOIN actors a ON a.id = ma.actor_id
UNION
SELECT m.title, a.name
FROM actors a
LEFT JOIN movie_actors ma ON a.id = ma.actor_id
LEFT JOIN movies m ON m.id = ma.movie_id;
Первая часть получает все фильмы и их актёров, включая фильмы без актёров.
Вторая часть, после UNION, получает всех актёров и их фильмы, включая актёров без фильмов.
UNION автоматически убирает дубликаты строк. Если нужно включить все строки, включая дубликаты, используйте UNION ALL.
Таблица movies
Таблица actors
Обязательные поля результирующей таблицы
Так как в MySQL нет FULL JOIN , тогда эмулируйте FULL JOIN используя UNION и LEFT JOIN в связке c RIGHT JOIN