조인 순서 좀 질문드릴게요~!! 0 1 2,088

by 상유니 [2017.01.23 15:20:46]


A

INNER JOIN B ON ~~

LEFT OUTER JOIN C ON ~~

INNER JOIN D ON~~

 

이렇게 하면 A, B 가 일단 먼저 합쳐지는건 알겠는데 -> (A, B) 라고 표시하겠습니다

그 다음에

(A, B) LEFT OUTER JOIN (C, D) 가 되는건지 아니면

(A, B) LEFT OUTER JOIN C 까지 합쳐진 다음 -> { (A, B), C } 라고 표시하겠습니다

{ (A, B), C} INNER JOIN D 가 되는건지 궁금합니다.

 

고수님들의 지식 공유 좀 부탁드립니다~ (_ _)

 

by 마농 [2017.01.23 17:28:12]

그건 ON 절과 WHERE 절등 전체 구문을 봐야 알 수 있을 듯 하네요.
또한 Index 구조 등도 함께 봐야 할 듯 하네요.
일단 ON 절에는 순서대로 1개씩만 조인된다고 가정하면
  - a-b, b-c, c-d 로만 조인된다고 가정
(a-b) left join (c-d) 로는 안될 것입니다.
((a-b) left join c) - d 로 될 수 있습니다.
하지만 이렇게 하면 아우터 조인은 무의미해 집니다.
내부적으로 모두 이너조인으로 바뀔 것 같구요.
  - 11G에서는 바뀝니다. 이전 버전은 모르겠음.
모두 이너 조인이라면 어떤 순서가 될지는 모릅니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입