ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MySQL - 쿼리 작성 순서와 실제 실행 순서
    프로그래밍 2023. 7. 29. 15:43
    반응형

     복잡한 쿼리 문제를 풀 때에는 요구사항을 나눠서 하나씩 해결하는게 효과적이라는 걸 느꼈다. 그 중에서 가장 도움이 되었던 건 쿼리의 실제 실행 순서를 알면 쿼리를 짜는게 쉬워진다는 것이었다.

     

    MySQL 기준으로 쿼리를 작성할 때에는

    1. SELECT

    2. FROM

    3. WHERE

    4. GROUP BY

    5. HAVING

    6. ORDER BY

    의 순서로 작성하게 된다.

     

    하지만 실제 쿼리의 실행 순서는

    1. FROM

    2. WHERE

    3. GROUP BY

    4. HAVING

    5. SELECT

    6. ORDER BY

    순으로 실행이 된다.

     

     이 사실을 알면 group by에서 sum, avg와 같은 함수가 어떻게 select 문에 컬럼으로 존재할 수 있는지가 해결된다. 쓴걸로 보면 select가 group by 보다 먼저 나오기 때문에 불가능해 보이지만 group by 와 having을 거친 뒤에 select가 실행되므로 충분히 가능하다. 또한 group by에 sum, count와 같은 함수로 그룹화를 하는 것도 위 사실을 알면 이해가 된다.

     

     참고로 limit는 모든 쿼리가 실행된 결과에 대해서 컬럼수를 제한하므로 작성, 실행 모두에서 마지막에 실행된다.

    반응형
Designed by Tistory.