보통
1. From 2. Where 3. Group by 4. Having 5. Select 6. Order by
실행순서가 이렇게 알고 있는데요.
조인이 들어갈 경우 실행 순서가 어떻게 되는지 궁금하네요
where 절을 먼저 호출하는 지 아니면 조인을 먼저하는지요
예를 들어서 A ,B 라는 테이블을 join 한다고 하면 id 값으로 조인하고 조건절이 있다고 한다면요
select *
from A, B
where A.id = B.id
AND A 테이블 조건들
AND B 테이블 조건들 ***********
이런 식으로 될텐데
select v1.*, v2.*
from (select *
from A
where A 조건들 ) AS v1,
(select *
from B
where B 조건들 ) AS v2
WHERE v1.id = v2.id
만약 조인 순서가 where 절보다 선행 된다면 후자의 쿼리가 더 빠를것 같아서요
적어 놓은 순서는 문맥의 흐름상 순서입니다.
SQL 구문을 해석하고 처리하는 순서입니다.
실제로 데이터를 처리하는 순서와는 조금 다르구요.
조인의 원리와 실행계획을 이해하셔야 합니다.
http://www.gurubee.net/article/62004
마지막으로 적으신 구문처럼 인라인 뷰를 사용한다고 해서
꼭 인라인 뷰 안쪽 내용이 먼저 수행되는 것은 아닙니다.
이 쿼리는 실제로는 쿼리 변환과정을 거쳐서 일반 조인문처럼 동작하게 됩니다.
즉, 두개 SQL의 실행계획은 동일하게 될것으로 예상됩니다.
결국 실행계획을 확인하셔야 하는 부분입니다.
복잡하게 작성하는것 보다는 간결하게 작성하는 것이 좋습니다.