본문 바로가기
Programming/SQL

SELECT 문 작동 순서

by 제타 2018. 4. 15.
반응형

SELECT 문에서는 동작 순서가 있다.


MSDN 공식 문서를 보면 다음과 같다.

다음 단계에서는 SELECT 문의 논리적 처리 순서(바인딩 순서)를 보여 줍니다.이 순서에 따라 특정 단계에서 정의한 개체를 후속 단계의 절에 사용할 수 있는 시기가 결정됩니다.예를 들어 쿼리 프로세스가 FROM 절에 정의된 테이블 또는 뷰에 바인딩(액세스)할 수 있는 경우 이러한 개체 및 해당 열을 모든 후속 단계에서 사용할 수 있습니다.반면, SELECT 절은 8단계이므로 해당 절에서 정의된 열 별칭 또는 파생 열을 이전 절에서 참조할 수는 없습니다.그러나 ORDER BY 절 등의 후속 절에서는 이러한 항목을 참조할 수 있습니다.문의 실제 실행은 쿼리 프로세서를 통해 결정되며 순서는 이 목록과 다를 수 있습니다.

  1. FROM

  2. ON

  3. JOIN

  4. WHERE

  5. GROUP BY

  6. WITH CUBE 또는 WITH ROLLUP

  7. HAVING

  8. SELECT

  9. DISTINCT

  10. ORDER BY

일반적으로 쉽게 생각하면 JOIN을 먼저 하고 WHERE절에서 필터링이 된 후에 GROUP BY, HAVING으로 데이터를 조작해서 SELECT 결과가 나오는데
여기에 DISTINCT를 매겨서 마지막으로 ORDER BY로 정렬을 한다고 보면 된다. 후후


반응형