Essa é uma notação específica do Oracle para um OUTER JOIN, porque o formato ANSI-89 (usando uma vírgula na cláusula FROM para separar as referências de tabela) não padronizou as junções OUTER.
A consulta seria reescrita na sintaxe ANSI-92 como:
SELECT ...
FROM a
LEFT JOIN b ON b.id = a.id
Este link é muito bom para explicar a diferença entre JOINs.
Deve-se notar também que, embora o
(+)
funciona, a Oracle recomenda não usando isso:
A Oracle recomenda que você use oFROM
cláusulaOUTER JOIN
sintaxe em vez do operador de junção Oracle. Consultas de junção externa que usam o operador de junção Oracle(+)
estão sujeitos às seguintes regras e restrições, que não se aplicam aoFROM
cláusulaOUTER JOIN
sintaxe: