Database/SQL

쿼리 문법 작성 순서 및 실행 순서

징토리 2023. 3. 17. 15:09

요 며칠간 프로그래머스의 SQL 문제를 푸는 것에 푹 빠져있었습니다.

기본적인 문법 작성순서만으로도 큰 도움이 되어서 간단하게 정리해보았습니다.


쿼리 문법 작성 순서

  1. SELECT 컬럼명
  2. FROM 테이블명
  3. WHERE 조건식
  4. GROUP BY 컬럼명
  5. HAVING 조건식
  6. ORDER BY 컬럼명

쿼리 실행 순서 

1. FROM & JOIN 

데이터의 총 작업량을 결정하기 위해 가장 먼저 실행됨. 

서브쿼리가 있는 경우, 결합되는 테이블의 모든 열과 행을 포함한 임시 테이블이 작성될 수 있음.

2. WHERE

작업 데이터의 총 작업량이 정해지면, WHERE 절에 명시된 제약 조건을 충족하지 않는 행은 제거

3. GROUP BY

남은행들을 지정된 컬럼의 공통값을 기반으로 GROUP BY로 묶음 

4. HAVING 

GROUP BY로 묶인 행에 HAVING 절에 명시된 조건을 충족 시키지 못하는 데이터 제거

5. SELECT 

SELECT에 지정된 컬럼 데이터를 추출함

6. DISTINCT 

중복되는 행을 제거함, 정렬을 하지 않음 

7. ORDER BY 

규칙에 맞게 오름차순 / 내림차순 정렬

8. LIMIT / OFFSET 

지정 범위를 벗어나면 제거 

 


[출처] https://sqlbolt.com/lesson/select_queries_order_of_execution

 

SQLBolt - Learn SQL - SQL Lesson 12: Order of execution of a Query

Now that we have an idea of all the parts of a query, we can now talk about how they all fit together in the context of a complete query. Complete SELECT query SELECT DISTINCT column, AGG_FUNC(column_or_expression), … FROM mytable JOIN another_table ON m

sqlbolt.com