[MySQL] SELECT Query문의 실행순서

노아카프카·2022년 6월 16일
0

MySQL을 사용해서 프로젝트 DB를 관리하다가 궁금증이 생겼다.
쿼리문도 여러개의 명령어가 조합되어있는 하나의 문장인데,
MySQL에서는 어떤 순서로 동작하게 될까?


문법 작성순서는 아래와 같다

SELECT > FROM > WHERE > GROUP BY > HAVING > ORDER BY


실제 동작 순서

FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY

  1. FROM
    조금만 생각해보면, FROM 절이 가장 먼저 나오는게 당연하다. 불러올 데이터가 있는 테이블을 먼저 찾아야하기 때문이다.

  2. WHERE
    데이터들 중 조건에 일치하는 데이터부터 불러온다.

  3. GROUP BY
    데이터를 그룹화해서 단일 값으로 축소한다.

  4. HAVING
    그룹화 한 테이블에 조건을 부여. 해당하는 데이터를 가져온다.

  5. SELECT
    불러온 데이터들중 어떤 열을 출력할지 '선택'

  6. ORDER BY
    행의 순서를 정렬.


공부하다보니 당연한 순서인거 같은데, 여태 왜 궁금하지 않았나 싶다.
아직까지는 이 순서를 모르더라도 문제가 일어나지는 않았지만, 코드와 명령어의 동작 순서를 아는 것은 기본이 아니었을까 생각한다.

0개의 댓글