sql >> Base de Datos >  >> RDS >> Mysql

Lógica de consulta para principiantes de SQL con 3 tablas

Creo que esta es una solución válida...

La subconsulta se utiliza para filtrar a los bebedores que frecuentan un bar que tiene un recuento de 0 de cervezas que les gustan.

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
);

Fiddle SQL de muestra