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

MySQL SELECT x FROM a WHERE NOT IN ( SELECT x FROM b ) - Résultat inattendu

À partir de la documentation :

C'est exactement votre cas.

Les deux IN et NOT IN renvoie NULL qui n'est pas une condition acceptable pour WHERE clause.

Réécrivez votre requête comme suit :

SELECT  *
FROM    match m
WHERE   NOT EXISTS
        (
        SELECT  1
        FROM    email e
        WHERE   e.id = m.id
        )