DB/ANSI_SQL

SELECT 쿼리 실행 순서 - 삽질중인 개발자

개발 N년차 2019. 7. 6. 23:41
반응형

 

 

SQL을 다루기 위해서는 SQL의 실행순서를 알고 있는게 가장 중요하다.

SQL의 실행 순서에 맞게 쿼리를 짜야지 불필요한 과정이 없어지므로 쿼리 실행 속도가 빨라진다.

 

SELECT 
	컬럼2 
FROM 
	테이블1 
WHERE 
	컬럼1 = 조건 
GROUP BY 
	컬럼2 
HAVING 
	COUNT(*) > 1 ORDER BY 컬럼2
ORDER BY 
	컬럼2 DESC
    

 

위와 같은 SELECT문이 있을 때 

 

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

2. WHERE 절로 조건에 맞게 걸러낸다.

3. GROUP BY 구문에 맞게 그룹화를 한다.

4. HAVING 그룹화된 것 중에 조건에 맞게 걸러낸다.

5. SELECT 위에 과정을 거치고 남은 데이터를 출력한다.

6. ORDER BY 출력된 데이터를 정렬한다.

 

FROM -> WHERE -> GROUP BY -> HAVING ->SELECT -> ORDER BY 

순으로 진행이 된다.

 

이 순서가 상당히 중요하다.

 

중간 중간에 생략된 과정이 있긴하지만 현재는 자주 쓰이는 쿼리문에 대해서만 설명.

 

반응형