Je pense que c'est une solution valable...
La sous-requête est utilisée pour filtrer les buveurs qui fréquentent un bar dont le nombre de bières qu'ils aiment est égal à 0.
select distinct drinker
from frequents
where drinker not in (
select f.drinker
from frequents f
join sells s on f.bar = s.bar
left join likes l on l.drinker = f.drinker and l.beer = s.beer
group by f.drinker, f.bar
having count(l.drinker) = 0
);