Вы можете использовать левое соединение:
SELECT animals.id FROM animals LEFT JOIN animals_food ON animals.id = animals_food.animals_id WHERE animals_food.food_id IS NULL;
A левое объединение содержит все строки из левой таблицы (животные), даже если условие объединения не находит подходящих строк из правой таблицы (animals_food). Если совпадение не найдено, столбцы правой таблицы заменяются на NULL.
Условие WHERE в моем запросе удаляет все совпадающие строки, оставляя только лишние строки в левой таблице в результате.