Das ist eine Oracle-spezifische Notation für einen OUTER JOIN, da das ANSI-89-Format (mit einem Komma in der FROM-Klausel zum Trennen von Tabellenreferenzen) OUTER-Joins nicht standardisiert hat.
Die Abfrage würde in ANSI-92-Syntax neu geschrieben werden als:
SELECT ...
FROM a
LEFT JOIN b ON b.id = a.id
Dieser Link erklärt ziemlich gut den Unterschied zwischen JOINs.
Es sollte auch beachtet werden, dass obwohl der (+)
funktioniert, Oracle empfiehlt nicht verwenden:
Oracle empfiehlt die Verwendung von FROM
Klausel OUTER JOIN
Syntax anstelle des Oracle-Join-Operators. Outer-Join-Abfragen, die den Oracle-Join-Operator (+)
verwenden unterliegen den folgenden Regeln und Einschränkungen, die nicht für FROM
gelten Klausel OUTER JOIN
Syntax: