SELECT문은 다음과 같은 순서로 작성되어야 한다.
1. SELECT
2. FROM
3. WHERE
4. GROUP BY
5. HAVING
6. ORDER BY
7. LIMIT
그러나 다음과 같은 순서로 실행된다.
1. FROM: 대상으로 하는 테이블
2. WHERE: 조건을 만족하는 행
3. GROUP BY: 대상을 기준으로 묶어 하나의 행으로 보여줌
4. HAVING: GROUP BY에서 묶어진 값들 중에서 조건을 만족하는 그룹
5. SELECT: 모든 또는 선택한 열을 조회
(SELECT 절에서 AS를 설정하므로 이를 기점으로 AS 처리된 이름 사용 가능)
6. ORDER BY: 열을 기준으로 기준에 따라 오름차순 또는 내림차순 정렬
7. LIMIT: 조회된 행 중에서 몇 번부터 몇 번까지 보여줄 것인지 설정
작성되어야 하는 순서와 실제로 동작하는 순서가 다르므로 유의해야 한다. 예를 들어 WHERE에서 조건을 걸 때 AS 처리 된 이름을 사용하고자 한다면 오류가 발생한다. SELECT가 실행되기 이전이므로 WHERE에서는 AS 처리 된 이름을 알 수 없다. 따라서 작성되는 순서와 실행되는 순서의 차이를 충분히 고려하여 SQL문을 작성해야 오류가 발생하지 않고 자신이 원하는 데이터만을 반환할 수 있다.