Por que o Oracle 10g não reclama da ambiguidade da colun

Estou usando o Oracle 10g (XE 10.2.0.1.0) e encontro um comportamento que não entendo:

select * 
from employees manager
    join employees worker on MANAGER.EMPLOYEE_ID = WORKER.MANAGER_ID
    join departments on DEPARTMENTS.manager_id = 108
where
    department_id = 100
;

O problema é que acho que a Oracle deveria reclamar da ambiguidade dedepartment_id na cláusula where, pois é uma coluna na tabelaemployees edepartments. O fato está no Oracle 10g, não, e o resultado mostra que ele interpreta odepartment_id como o dedepartments. No entanto, se eu comentar a segunda declaração de junção (quarta linha acima), a Oracle reclamará “ORA-00918: coluna definida ambiguamente” conforme o esperad

Então, alguém pode ajudar a explicar como a ambiguidade é definida no Oracle 10g? Ou talvez isso seja um bug em 10g?

BTW: As tabelas são definidas no esquema de RH padrão incluído no Oracle 10

Update: Acabei de encontrar um post relacionado:Por que o Oracle SQL misteriosamente resolve ambiguidade em uma união e não em outra

questionAnswers(2)

yourAnswerToTheQuestion