Oracle ignora erro de identificador inválido na subconsulta

Não entendo por que a consulta a seguir funciona, embora a subconsulta dê um erro "identificador inválido".

SELECT *
FROM aircraft
WHERE airc_manufact IN (SELECT airc_manufact FROM flight);

Minhas tabelas têm a seguinte aparência (abreviada):

AERONAVES (airc_model (PK), airc_manufact)

VOAR (flt_no (PK), airc_model (FK))

Se eu executar a subconsulta por conta própria, recebo o erro "identificador inválido" como deveria, pois o airc_manufact não é uma coluna na tabela de vôo.

Se eu executar a consulta inteira, não recebo um erro. O Oracle parece ignorar a subconsulta e, portanto, me dá toda a linha na tabela de aeronaves.

Para mim, isso parece ser um bug, porque há um erro óbvio na consulta. Por que a consulta é executada? Meu entendimento é que o Oracle executaria ou avaliaria primeiro a subconsulta e, em seguida, executaria a consulta externa.

questionAnswers(1)

yourAnswerToTheQuestion