Mysql
 sql >> Base de données >  >> RDS >> Mysql

Logique de requête SQL débutant avec 3 tables

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

Exemple SQL Fiddle