Nie znam zbyt wielu dziwactw mySql, ale to też powinno działać i być może mySql się nim nie udławi:
delete from articles
where not exists (
select id from authors
where authors.id = articles.author_id
)
Hm, oczywiście zawsze mamy kopię zapasową tabeli, zanim spróbujemy usunąć na podstawie zestawu :)