Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Anfänger-Abfragelogik mit 3 Tabellen

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

Beispiel-SQL-Fiddle