Nej, det finns inga villkor under vilka resultatuppsättningarna kommer att vara annorlunda.
Men ditt antagande "a.id = b.id(+)
har ingen betydelse" är inte 100 % korrekt. Det har en betydelse, eftersom den definierar sammanfogningen, annars skulle detta vara en kartesisk produkt av a och b med alla rader från a och b.name ='XYZ'.
Det som inte har någon effekt är (+)
, eftersom påståendet är "semantiskt" fel. Det är ingen mening att gå med på id utan att gå med på namn.
Vanligtvis önskas något sådant:
select * from a,b where a.id =b.id(+) and b.name(+) = 'XYZ';
Kort exempel på http://www.sqlfiddle.com/#!4/d19b4/ 15