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.