[MySQL] SQL 실행 순서

조애옹·2025년 6월 10일

🔍 SQL 실행 순서

  • SQL 문장은 데이터베이스에 의해 내부적으로 정해진 순서대로 실행됨.
  • 실행 순서를 이해하면 쿼리 작성의 논리적 흐름이 보이고, 성능 최적화나 디버깅에 도움이 됨.

✅ SQL SELECT 문 실행 순서

실행 순서구문설명
FROM / JOIN기본 테이블 및 조인된 테이블을 결합 (1차 테이블 생성)
ON조인 조건을 평가하여 결합 여부를 결정
WHERE조건에 맞는 행만 필터링 (2차 테이블 완성)
GROUP BY특정 컬럼 기준으로 그룹을 형성
그룹 함수각 그룹에 대한 집계 결과(SUM, AVG, COUNT 등)를 계산 (3차 테이블 완성)
HAVING그룹 결과에 대한 조건을 필터링 (4차 테이블 완성)
SELECT최종적으로 가져올 컬럼을 지정
ORDER BY정렬 기준에 따라 결과를 정렬
LIMIT가져올 행의 개수를 제한
클라이언트 전달최종 결과를 사용자(Client)에게 전달

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY


✅ 예제로 보는 실행 순서

SELECT department, COUNT(*) AS cnt
FROM employees
WHERE status = 'active'
GROUP BY department
HAVING COUNT(*) > 5
ORDER BY cnt DESC
LIMIT 10;

실행 순서 설명:

  1. FROM employees → employees 테이블 불러오기
  2. WHERE status = 'active' → 비활성 계정 제거
  3. GROUP BY department → 부서별 그룹
  4. COUNT(*) → 각 부서 인원수 계산
  5. HAVING COUNT(*) > 5 → 5명 이하 부서는 제외
  6. SELECT department, COUNT(*) → 필요한 컬럼만 추출
  7. ORDER BY cnt DESC → 인원 수 기준 내림차순 정렬
  8. LIMIT 10 → 상위 10개 부서만 보여주기
profile
아자잣

0개의 댓글