Den vänstra kopplingen kommer att producera null
rader för felmatchningarna.
Det är de null
rader som du behöver filtrera på.
SELECT * FROM mail
LEFT JOIN block ON (block.blocker = 'Bob')
WHERE block.blocker IS NULL
Det är lite konstigt att gå med på ett fast värde, men en vanligare anslutning (med tanke på dina tabeller) skulle vara:
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';