Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

forest_moon

[SQL] Query 실행 순서 본문

SQL

[SQL] Query 실행 순서

rokga 2023. 4. 2. 18:59

SQL을 실행할때 보면 분명 맞는데 쿼리의 실행 순서를 모르고 문법을 실행 해서 오류가 난적이 많았다.

 

 

 실제 쿼리의 실행순서는 다음과 같다.

1. FROM   2.WHERE  3.GROUP BY  4,HAVING. 5.SELECT. 6.ORDER BY

 

각 순서에 대해서 정리해보면.

 

 FROM 절

FROM절에서 전체 테이블에 대한 정보를 가져온다.

WHERE절 

WHERE절에서는 FROM절에서 읽어온 데이터에서 조건에 맞는 결과만 데이터를 간추려 준다.

GROUP BY 절

선택한 칼럼으로 GROUPING 작업을 한 결과를 갖고 있습니다. GROUP BY 절을 사용하게 되면 해당 칼럼으로 그룹함수를 사용할 수 있습니다.

HAVING

HAVING절은 그룹핑 작업이 된 이후에 사용되는 조건절이다.

HAVING절의 조건이 WHERE절에서 처리할수 있는 경우라면 WHERE절에서 사용하는 것이 효율적이다.

 

WHERE절

 FROM절에서 전체 데이터에서 조건을걸어 먼저 처리를 하여 데이터를 줄인 다음에 GROUPING작업을 한다.

 

HAVING절

FROM절에서 전체 데이터에서 GROUPPING을 한뒤에 HAVING의 조건을 걸어 데이터를 가져온다.

 

정리하자면 같은 조건으로 데이터를 처리한다면 WHERE절에서 조건으로 처리를 하는 방식이 효율적이다.

 

SELECT

앞의 조건들로 처리된 데이터 중에서 SELECT한 열의 데이터를 가져온다.

ORDER BY

마지마으로 SELECT한열의 행을 어떠한 순서로 정렬해주는 역할을 한다.

 

Reference

https://myjamong.tistory.com/172

 

'SQL' 카테고리의 다른 글

[SQL] Window Function 윈도우 함수  (0) 2023.05.30
[Oracle] LAG, LEAD 함수  (0) 2023.05.30
[SQL] SQL WITH문  (0) 2023.04.20
[SQL] SQL UNION , UNION ALL  (0) 2023.04.18
[SQL] NULL 값 처리하기  (0) 2023.03.09