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

Conversão de junção Oracle para junção Ansi


Isso seria junção externa se todas as colunas em t2 tinha o (+) modificador.

Isso se pareceria com:
Select t1.c1, t2.c2, t1.c3
from t1 left join
     t2 
     on T1.c1 = t2.c1 and T1.c2 = t2.c2 and
        T1.c3 = t2.c3 and T1.c4 = t2.c4
where T1.c1 = '1';

No entanto, sua versão é uma junção interna, porque algumas das colunas precisam corresponder - portanto, é necessário haver uma linha correspondente na segunda tabela.

Então, o equivalente real é apenas:
Select t1.c1, t2.c2, t1.c3
from t1 join
     t2 
     on T1.c1 = t2.c1 and T1.c2 = t2.c2 and
        T1.c3 = t2.c3 and T1.c4 = t2.c4
where T1.c1 = '1';

E o (+) não é relevante.