L'unico modo per togliersi questo tipo di dubbi è quello di verificare il piano di accesso della query.
I client oracle hanno generalmente un tasto per visualizzarlo, se invece stai lavorando con sql plus devi digitare qualche comando in più, ti consiglio questo articolo:
http://docs.oracle.com/cd/B10500_01/server.920/a96533/ex_plan.htm
Oracle valuta il piano di accesso migliore secondo le statistiche che ha a disposizione, non esiste quindi una risposta assoluta alla tua domanda. Ti faccio un esempio:
SELECT *
FROM (SELECT e.employee_id, e.first_name, d.department_name
FROM hr.employees e, hr.departments d
WHERE e.department_id = d.department_id) a
WHERE a.department_name = 'Shipping';
In questo caso viene effettuato prima il filtro sulla where condition e come seconda operazione viene risolta la join che si trova nel FROM.
Con una semplice hint sulla stessa query riusciamo però a modificare il piano di accesso in questo modo:
SELECT /*+ LEADING(e) */ *
FROM (SELECT e.employee_id, e.first_name, d.department_name
FROM hr.employees e, hr.departments d
WHERE e.department_id = d.department_id) a
WHERE a.department_name = 'Shipping';
In questo caso viene prima risolta la query della FROM su cui viene poi applicato il filtro della WHERE CONDITION.
Come spesso accade (ma non sempre) il piano di accesso scelto da Oracle è il più efficiente.