Прежде всего, я бы использовал тот же синтаксис левого внешнего соединения в Oracle, а не их старый, собственный (+) синтаксис. Oracle делает ту же рекомендацию в своей документации. Существует ряд ограничений на этот синтаксис, которые не применяются к стандартному синтаксису ANSI.
Если вы решили использовать оператор соединения Oracle, я не уверен на 100%, но думаю, вам нужно сделать что-то вроде:
select *
from branch a, course b
where a.courseid = b.courseid(+)
and b.courseid(+) is null;
Прошло много времени с тех пор, как я беспокоился об операторе соединения Oracle.