Este artículo puede ser de su interés:
En pocas palabras, NOT IN
es ligeramente diferente de NOT EXISTS
en la forma en que los dos manejan NULL
valores devueltos por la subconsulta.
Si no hay NULL
valores, ambos realizan un tipo en NESTED LOOP ANTI JOIN
, pero NOT IN
es un poco más eficiente.