DataBase

[DB] SELECT Query 실행 순서

토발자 2023. 8. 20. 15:42
반응형

SELECT Query문은 FROM/JOIN, WHERE, GROUP BY, HAVING, SELECT, ORDER BY 순서로 실행된다.

 

 

출처 :  http://www.rootel.co.kr/sql_server/blog19/

 

1. FROM/JOIN 절

Query 실행 시 FROM 절이 가장 먼저 실행된다.

FROM 절에서는 조회할 테이블을 지정하고, 이후 JOIN을 실행해 하나의 가상 테이블로 결합한다.

FROM 절이 가장 먼저 실행되기 때문에 WHERE에서 JOIN된 테이블의 필드를 사용할 수 있는 것이다.

 

 

2. WHERE 절

WHERE 절에서는 조회해온 테이블에서 조건에 맞는 데이터를 필터링한다.

 

 

3. GROUP BY

선택한 컬럼을 기준으로 그룹핑을 진행한다.

 

 

4. HAVING 절

GROUP BY를 이용해 그룹핑 한 후에 각 그룹을 필터링할 때 사용되는 조건절이다.

GROUP BY는 WHERE 이후에 실행되기 때문에 WHERE 절에서는 GROUP BY 결과를 필터링할 수 없다.

따라서 HAVING이 존재한다.

 

 

5. SELECT 절

위의 과정을 통해 여러 조건들을 처리한 후 남은 데이터에서 어떤 열을 출력해줄지 선택한다.

여기서 Windows 함수도 실행된다.

 

 

6. ORDER BY 절

출력할 데이터들의 행의 순서를 어떻게 보여줄지 정렬하기 위한 기준을 명시하는 절이다.

ORDER BY 절은 SELECT 절보다 뒤에 실행되기 때문에 SELECT 절의 결과를 사용할 수 있다.

예를 들면 다음과 같다.

SELECT m.name AS member_name
FROM member AS m
ORDER BY member_name;

 

 

7. LIMIT 절

조회된 데이터 중 총 몇 개의 행을 보여줄지 선택한다.

반응형