방법1 - union 외부에서
select
a.*,
(selec name from table_c where a = a.a) name
from (
select a, b, c from table_a
union all
select a, b, c from table_b
) a
방법2 - union 내부에서
select
a.*
from (
select a, b, c
(selec name from table_c where a = a.a) name
from table_a a
union all
select a, b, c
(selec name from table_c where a = b.a) name
from table_b b
) w
안녕하세요
위 쿼리 처럼 union 내에서 조인하는것과 외부에서 조인하는것의 차이가 궁금합니다~
그리고 위 두개의 차이를 확인하는 방법은 단순 초 확인밖에 없을까요?!
실행계획을 확인해보세요~
일반 조인과 서브쿼리의 개념을 알고 계셔야 할 것 같습니다. 윗분 말씀대로 실행계획을 살펴보셔야 해요.
실행계획요?ㅠ
일반 조인과 서브쿼리 개념은 책보면 알 수 있을까요?
두개의 차이보다 서브쿼리를 outer join으로 바꿔주는게 성능이 향상될겁니다.
그런데.. 결과가 count를 가져오는건데 outer join을 하면 group by 를 사용해야하는것 아닌가요~?
count를 가져오면은 서브쿼리를 불필요해보입니다.
http://www.gurubee.net/lecture/2722
위 글 확인해보겠습니다 ㅎㅎ