Oracle
 sql >> Database >  >> RDS >> Oracle

Conversione di Oracle join in Ansi join

Questo sarebbe un join esterno se tutte le colonne in t2 aveva il (+) modificatore.

Sembrerebbe:

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

Tuttavia, la tua versione è un inner join, perché alcune colonne devono corrispondere, quindi è necessario che ci sia una riga corrispondente nella seconda tabella.

Quindi, il vero equivalente è solo:

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 il (+) non è rilevante.