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

MYSQL - Selecione apenas se a linha em LEFT JOIN não estiver presente


A junção esquerda produzirá null linhas para as incompatibilidades.
São aqueles null linhas que você precisa filtrar.
SELECT * FROM mail  
LEFT JOIN block ON (block.blocker = 'Bob') 
WHERE block.blocker IS NULL

É meio estrangulado estar unindo em um valor fixo, no entanto, uma junção mais comum (dadas suas tabelas) seria:
SELECT * FROM mail  
LEFT JOIN block ON (block.blocker = mail.receiver
                and block.blocked = mail.sender)<<-- these should match
WHERE block.blocker IS NULL                     <<-- select only mismatches
AND mail.receiver like 'bob';