oracle ignora el error de identificador no válido en la subconsulta
No entiendo por qué funciona la siguiente consulta, aunque la subconsulta muestra un error de "identificador no válido".
SELECT *
FROM aircraft
WHERE airc_manufact IN (SELECT airc_manufact FROM flight);
Mis tablas tienen el siguiente aspecto (abreviado):
AIRCRAFT airc_model (PK), airc_manufact)
FLIGHT flt_no (PK), airc_model (FK))
Si ejecuto la subconsulta sola, recibo un error de "identificador no válido" como debería, ya que airc_manufact no es una columna en la tabla de vuelo.
Si ejecuto toda la consulta, entonces no recibo un error. Oracle parece ignorar la subconsulta y, por lo tanto, me da todas las filas en la tabla de aviones.
Para mí, esto parece ser un error porque hay un error obvio en la consulta. ¿Por qué se ejecuta la consulta? Tengo entendido que Oracle primero ejecutará o evaluará la subconsulta y luego ejecutará la consulta externa.