sql >> Databáze >  >> RDS >> Mysql

Logika dotazů SQL pro začátečníky se 3 tabulkami

Myslím, že toto je správné řešení...

Dílčí dotaz se používá k odfiltrování pijáků, kteří navštěvují bar s nulovým počtem piv, která mají rádi.

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

Ukázka SQL Fiddle



  1. Vyberte odlišná první slova pole

  2. Příkaz spánku v T-SQL?

  3. Chyba:EXDEV:propojení mezi zařízeními není povoleno, přejmenujte '/tmp/ na Ubuntu 16.04 LTS

  4. Sekvence specifická pro entitu