Sie sind viel besser dran, wenn Sie die ANSI-Syntax verwenden
SELECT *
FROM a
LEFT OUTER JOIN b ON( a.id = b.id and
b.val = 'test' )
Sie können das Gleiche auch mit der Oracle-Syntax tun, aber es wird ein bisschen hinkey
SELECT *
FROM a,
b
WHERE a.id = b.id(+)
AND b.val(+) = 'test'
Beachten Sie, dass ich in beiden Fällen c
ignoriere Tabelle, da Sie keine Join-Bedingung angeben. Und ich gehe davon aus, dass Sie nicht unbedingt A mit B verbinden und dann mit C ein kartesisches Produkt erzeugen wollen.