이 두개의 sql의 차이점은 뭘까요?
select * from a, b where a.col1 = b.col2(+) and a.col2 = b.col2(+) and b.col3 = 'aa';
select * from a, b where a.col1 = b.col2(+) and a.col2 = b.col2(+) and b.col3(+) = 'aa';
=Table A= | A | 1 | | A | 2 | | A | 3 | | A | 4 |
=Table B====== | A | 1 | aa | | A | 2 | aa | | A | 2 | bb | | A | 3 | cc |
(a.c1 = b.c1(+) AND a.c2 = b.c2(+)) = Result 0==== | A | 1 | aa | | A | 2 | aa | | A | 2 | bb | | A | 3 | cc | | A | 4 | |
(a.c1 = b.c1(+) AND a.c2 = b.c2(+) AND b.c3 = 'aa') = Result 1==== | A | 1 | aa | | A | 2 | aa | 아우터 조인 효과 없음(잘못 사용한 예) 이너조인을 하던가 (+)를 붙여주던가 둘중 하나
(a.c1 = b.c1(+) AND a.c2 = b.c2(+) AND b.c3(+) = 'aa') = Result 2==== | A | 1 | aa | | A | 2 | aa | | A | 3 | | | A | 4 | |
아하...그렇쿤요. 감사합니다.
어떻게 그렇게 잘하시는지... ^^