Много по-добре е да използвате ANSI синтаксиса
SELECT *
FROM a
LEFT OUTER JOIN b ON( a.id = b.id and
b.val = 'test' )
Можете да направите същото, като използвате и синтаксиса на Oracle, но става малко странно
SELECT *
FROM a,
b
WHERE a.id = b.id(+)
AND b.val(+) = 'test'
Обърнете внимание, че и в двата случая пренебрегвам c
таблица, тъй като не сте посочили условие за присъединяване. И предполагам, че всъщност не искате да съедините A към B и след това да генерирате декартово произведение с C.