Lewe sprzężenie wygeneruje null
wiersze dla niezgodności.
To te null
wiersze, według których musisz filtrować.
SELECT * FROM mail
LEFT JOIN block ON (block.blocker = 'Bob')
WHERE block.blocker IS NULL
To trochę udręczone, aby łączyć się na stałej wartości, jednak bardziej powszechnym złączeniem (biorąc pod uwagę twoje stoły) byłoby:
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';