Mysql
 sql >> Base de données >  >> RDS >> Mysql

MYSQL - Sélectionnez uniquement si la ligne dans LEFT JOIN n'est pas présente

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';