La jointure gauche produira null
lignes pour les discordances.
Ce sont ces null
lignes sur lesquelles vous devez filtrer.
SELECT * FROM mail
LEFT JOIN block ON (block.blocker = 'Bob')
WHERE block.blocker IS NULL
C'est un peu étrange de se joindre à une valeur fixe, cependant, une jointure plus courante (compte tenu de vos tables) serait :
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';