MySQL을 사용해서 프로젝트 DB를 관리하다가 궁금증이 생겼다.
쿼리문도 여러개의 명령어가 조합되어있는 하나의 문장인데,
MySQL에서는 어떤 순서로 동작하게 될까?
SELECT > FROM > WHERE > GROUP BY > HAVING > ORDER BY
FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY
FROM
조금만 생각해보면, FROM 절이 가장 먼저 나오는게 당연하다. 불러올 데이터가 있는 테이블을 먼저 찾아야하기 때문이다.
WHERE
데이터들 중 조건에 일치하는 데이터부터 불러온다.
GROUP BY
데이터를 그룹화해서 단일 값으로 축소한다.
HAVING
그룹화 한 테이블에 조건을 부여. 해당하는 데이터를 가져온다.
SELECT
불러온 데이터들중 어떤 열을 출력할지 '선택'
ORDER BY
행의 순서를 정렬.
공부하다보니 당연한 순서인거 같은데, 여태 왜 궁금하지 않았나 싶다.
아직까지는 이 순서를 모르더라도 문제가 일어나지는 않았지만, 코드와 명령어의 동작 순서를 아는 것은 기본이 아니었을까 생각한다.