1. FROM, JOIN
- 먼저 FROM ( 테이블 ) JOIN ( 테이블 ) 이 실행되어 데이터셋을 뽑아냅니다.
- Sub Query문 (서브쿼리)도 실행되며 임시 테이블이 생성될 수 있습니다.
2. WHERE
- 1에서 뽑아낸 데이터셋에서 WHERE 조건문에 기재된 제약조건 대로 이를 충족하는 행만 뽑아냅니다.
3. GROUP BY
- 2에서 뽑아낸 데이터셋에 대해서 그룹조건을 적용하여 그룹으로 묶어줍니다.
4. HAVING
- 그룹으로 묶여진 데이터셋에 대해서 HAVING 조건절을 만족하는 행만이 남습니다.
5. SELECT
- 4까지 완료된 데이터 셋에 대하여 SELECT문을 실행하여 원하는 칼럼을 설정합니다.
6. DINSTINCT
- DISTINCT를 사용할 경우 이 단계에서 중복되는 행은 제거 됩니다.
7. ORDER BY
- 지금까지 만들어진 데이터셋을 어떤식으로 정렬 할 것인지 정합니다(오름차순, 내림차순)
8. LIMIT / OFFSET
- 최종적으로 범위를 지정 (지정된 범위를 벗어나는 행을 제거) 합니다.
[출처]:
https://sqlbolt.com/lesson/select_queries_order_of_execution
jaimemin.tistory.com/1475?category=1060172
'Web & App > Mysql' 카테고리의 다른 글
Pagenation(페이징) [Offset-based, Cursor-based) (0) | 2020.10.17 |
---|---|
mysql 외부 접속 허용 (0) | 2020.08.17 |