Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

O que significa um sinal (+) em uma cláusula Oracle SQL WHERE?


Esta é uma notação específica do Oracle para uma junção externa. Isso significa que incluirá todas as linhas de t1 e usará NULLS nas colunas t0 se não houver nenhuma linha correspondente em t0.

No SQL padrão se escreveria:
SELECT t0.foo, t1.bar
  FROM FIRST_TABLE t0
 RIGHT OUTER JOIN SECOND_TABLE t1;

A Oracle recomenda não usar mais essas junções se sua versão suportar junções ANSI (LEFT/RIGHT JOIN):

A Oracle recomenda que você use a sintaxe OUTER JOIN da cláusula FROM em vez do operador de junção Oracle. As consultas de junção externa que usam o operador de junção Oracle (+) estão sujeitas às seguintes regras e restrições […]