본문 바로가기

DB/ANSI_SQL

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

반응형

 

 

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 

순으로 진행이 된다.

 

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

 

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

 

반응형