Ne, neexistuje žádná podmínka, za které se budou sady výsledků lišit.
Ale váš předpoklad "a.id = b.id(+)
nemá žádný význam“ není 100% správný. má význam, protože definuje spojení, jinak by se jednalo o kartézský součin aab se všemi řádky z a a b.jméno ='XYZ'.
Co nemá žádný vliv, je (+)
, protože výrok je „sémanticky“ chybný. Nemá smysl vnější spojení na id, ale spojení na jméno.
Obvykle se něco takového chce:
select * from a,b where a.id =b.id(+) and b.name(+) = 'XYZ';
Krátký příklad na http://www.sqlfiddle.com/#!4/d19b4/ 15