Mysql
 sql >> Database >  >> RDS >> Mysql

La query LEFT OUTER JOIN non restituisce le righe previste

La tua query attuale sta fondamentalmente facendo un INNER JOIN a causa del consultant_id = 5 nel WHERE clausola. Credo che tu voglia effettivamente usare:

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;

Vedi SQL Fiddle con demo