홍카나의 공부방

SELECT 문의 실행 순서 본문

Data Engineering/Database

SELECT 문의 실행 순서

홍문관카페나무 2023. 6. 12. 21:30

SQL 문을 작성할 때 일련의 순서를 따르게 된다. 예를 들어서

SELECT *
FROM user_info A
INNER JOIN class_info B ON A.userid = B.userid
WHERE age > 20
GROUP BY 1
ORDER BY 1;

이런 식으로 SELECT, FROM, ..., ORDER BY로 순서를 지키게 된다.

 

그러나 실제 실행 순서는 문법의 순서와 다르다.

SELECT문의 실행 순서는

 

1. FROM

2. JOIN, ON

3. WHERE

4. GROUP BY, HAVING

5. SELECT, DISTINCT

6. ORDER BY

 

이렇게 진행 된다.

외우지 말고 이해하려 해보자.

 

일단 FROM 절로 쿼리를 해야 하는 데이터를 쭉 가져온다.

여기서 필요하다면 JOIN과 그에 맞는 조건(ON)을 걸어서 데이터를 확장시켜서 가져오거나, 처리한다.

그다음 그룹화를 하기 이전에 조건을 체크하여 레코드를 제거한다.

그다음 그룹화를 진행하고 그룹화에 조건을 건다.

SELECT로 레코드와 필드를 조회하고, DISTINCT로 중복을 제거한다.

정렬한다.

 

참 쉽지요?

반응형