Mysql
 sql >> база данни >  >> RDS >> Mysql

Логика на заявките за SQL за начинаещи с 3 таблици

Мисля, че това е валидно решение...

Подзаявката се използва за филтриране на пиячи, които посещават бар, който има 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
);

Примерен SQL Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql:Актуализиране на полето на най-новия запис

  2. Колоната на MySQL е зададена на NOT NULL, но все пак позволява NULL стойности

  3. Пролетна партида с псевдоним на колона като ключ за сортиране - неправилно формиран оператор where

  4. sql заявка с оператор if

  5. Използвате ли LIMIT в рамките на GROUP BY, за да получите N резултата на група?