1. Не нужно думать что 1 запрос вместо 2 это априори хорошо.
Как правило вложенные запросы работают достаточно хреново и если нет каких-то мега значимых аргументов лучше делать 2 запроса.
Плюс есть моя личная точка зрения - не стоит убирать бизнес логику в sql запросы.
Гораздо понятней сделать функцию на вашем любимом языке программирования, которая будет считать средний рейтинг по 2м аргументам(год начала, год конца) - а разницу считать уже в скрипте.
2. если уж очень хочется
select
(
select avg(Rating.stars)
from Movie
join Rating on Rating.mID = Movie.mID
where year < 1980
) - (
select avg(Rating.stars)
from Movie
join Rating on Rating.mID = Movie.mID
where year >= 1980
) as diff;