Primero veamos dos declaraciones de consulta:
SELECT customer_id,
rental_id,
return_date
FROM
rental
WHERE
customer_id IN (1, 2)
ORDER BY
return_date DESC;
SELECT
rental_id,
customer_id,
return_date
FROM
rental
WHERE
customer_id = 1 OR customer_id = 2
ORDER BY
return_date DESC;
Los resultados devueltos por las dos declaraciones de consulta son los mismos, pero la ejecución de IN es mucho más rápida que OR o AND, por lo que la primera forma de escritura es más recomendable.
NOT IN significa que no está en un rango determinado. La parte
posterior de IN puede ser una lista de valores devueltos por la subconsulta