Nej, der er ingen betingelse, hvorunder resultatsættene vil være anderledes.
Men din antagelse "a.id = b.id(+)
har ingen betydning" er ikke 100 % korrekt. Det har en betydning, fordi den definerer sammenføjningen, ellers ville dette være et kartesisk produkt af a og b med alle rækker fra a og b.name ='XYZ'.
Hvad der ikke har nogen effekt er (+)
, fordi udsagnet er "semantisk" forkert. Det giver ingen mening at ydre join på id, men at deltage på navn.
Normalt ønskes sådan noget:
select * from a,b where a.id =b.id(+) and b.name(+) = 'XYZ';
Kort eksempel på http://www.sqlfiddle.com/#!4/d19b4/ 15