Oracle
 sql >> Base de données >  >> RDS >> Oracle

Conversion de jointure Oracle en jointure Ansi

Ce serait une jointure externe si toutes les colonnes de t2 avait le (+) modificateur.

Cela ressemblerait à :

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';

Cependant, votre version est une jointure interne, car certaines colonnes doivent correspondre ; il doit donc y avoir une ligne correspondante dans la deuxième table.

Donc, le vrai équivalent est juste :

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';

Et le (+) n'est pas pertinent.