Da documentazione :
Questo è esattamente il tuo caso.
Entrambi IN
e NOT IN
restituisce NULL
che non è una condizione accettabile per WHERE
clausola.
Riscrivi la tua richiesta come segue:
SELECT *
FROM match m
WHERE NOT EXISTS
(
SELECT 1
FROM email e
WHERE e.id = m.id
)