쿼리 실행 순서

김소희·2024년 12월 29일

MySQL

목록 보기
11/17

원하는 데이터를 조회하기 위해 쿼리에는 WHERE, GROUP BY, HAVING, ORDER BY 등 다양한 SQL 문법들을 조합하는데 이러한 문법들 사이에서 실행되는 순서가 있습니다.

SELECT *
	FROM [테이블]
	WHERE [조건]
	GROUP BY [그룹화할 컬럼]
	HAVING [그룹화 후 조건]
	ORDER BY [정렬 컬럼]

SQL 스크립트 작성 순서

스크립트 작성 순서
SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY

SQL의 실행 순서

FROM - ON - JOIN - WHERE - GROUP BY - HAVING - SELECT - DISTINCT - ORDER BY

  1. FROM : 쿼리 실행 순서 중 가장 먼저 실행되는 부분으로 지정 테이블의 모든 데이터를 가져온다.(JOIN 포함)
  2. WHERE : FROM절로부터 가져온 데이터 중 WHERE절에 조건에 부합하는 데이터를 분류한다.
  3. GROUP BY : WHERE절로 부터 분류된 데이터 중 그룹화할 칼럼을 기준으로 데이터를 축소한다. 
  4. HAVING : 축소된 데이터에 대한 추가적인 조건을 건다. 
  5. SELECT : 작성한 칼럼의 데이터를 조회한다.
  6. DISTINCT : 데이터 조회 중 중복을 제거한다.
  7. ORDER BY : 마지막으로 데이터를 정렬한다.

SQL의 실행 순서 - 서브 쿼리

서브쿼리 또한 작성된 위치에 맞는 순서에 따라 실행된다.

# WHERE절 작성 -> WHERE이 실행될 때 실행
SELECT *
   FROM [테이블A]
  WHERE [컬럼] IN (
                  SELECT *
                    FROM [테이블B]
                  )

0개의 댓글