Ich denke, das ist eine gültige Lösung ...
Die Unterabfrage wird verwendet, um Trinker herauszufiltern, die eine Bar besuchen, in der es 0 Biere gibt, die sie mögen.
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
);