Du är mycket bättre av att använda ANSI-syntaxen
SELECT *
FROM a
LEFT OUTER JOIN b ON( a.id = b.id and
b.val = 'test' )
Du kan göra samma sak med Oracles syntax också, men det blir lite knepigt
SELECT *
FROM a,
b
WHERE a.id = b.id(+)
AND b.val(+) = 'test'
Observera att i båda fallen ignorerar jag c
tabell eftersom du inte anger ett anslutningsvillkor. Och jag antar att du egentligen inte vill ansluta A till B och sedan generera en kartesisk produkt med C.