Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A consulta LEFT OUTER JOIN não retorna as linhas esperadas


Sua consulta atual está basicamente fazendo um INNER JOIN por causa do consultant_id = 5 no WHERE cláusula. Eu acredito que você realmente deseja usar:
SELECT * 
FROM   consultant_memberships m
LEFT OUTER JOIN consultant_memberships_list l
  ON m.`id` = l.membership_id 
  AND l.consultant_id = 5 
WHERE l.membership_id IS NULL;

Consulte SQL Fiddle with Demo