All thing of the world!

left outer join시 이렇게 작성하면 큰일납니다. 본문

IT/Oracle DBMS

left outer join시 이렇게 작성하면 큰일납니다.

WorldSeeker 2021. 4. 7. 09:01

where 조건이 같은 아래 2개의 left outer join 쿼리의 결과는 같을까요? 다를까요?

1번은 oracle sql join을 사용했고, 2번은 ansi sql join을 하는 문장입니다.

1. Oracle sql syle로 left outer join
    select * 
    from (select '1' f1, 'a' f2 from dual
              union all
              select '2' f1, 'b' f2 from dual) a,
              (select '1' f1, 'c' f2 from dual) b
    where a.f1=b.f1(+)
    and b.f2 = 'c'


2. Ansi sql style로  left outer join
       select * 
       from (select '1' f1, 'a' f2 from dual
                union all
                select '2' f1, 'b' f2 from dual) a
 left outer join
                (select '1' f1, 'c' f2 from dual) b
                
on a.f1=b.f1
                and  b.f2='c'


같다고 생각하는 사람은 직접 타이핑하고 결과를 보세요!

Comments