Mieux vaut utiliser la syntaxe ANSI
SELECT *
FROM a
LEFT OUTER JOIN b ON( a.id = b.id and
b.val = 'test' )
Vous pouvez également faire la même chose en utilisant la syntaxe d'Oracle, mais cela devient un peu compliqué
SELECT *
FROM a,
b
WHERE a.id = b.id(+)
AND b.val(+) = 'test'
Notez que dans les deux cas, j'ignore le c
table puisque vous ne spécifiez pas de condition de jointure. Et je suppose que vous ne voulez pas vraiment joindre A à B puis générer un produit cartésien avec C.