- FROM 절
- 가장 먼저 실행되며, 쿼리에서 참조하는 테이블 또는 뷰를 식별합니다. 여러 테이블이 조인되는 경우, 이 절에서 어떻게 테이블들이 결합되는지 정의됩니다.
- ON 절
- 조인이 수행될 때 사용됩니다. FROM 절에서 정의된 테이블들이 결합하는 방식을 구체적으로 명시합니다. 이 절은 조인 조건을 평가하여 조인할 행을 결정합니다.
- JOIN
- 여러 테이블을 조합할 때 사용되며, ON 절 다음에 평가됩니다. 지정된 조인 조건에 따라 행들이 결합됩니다.
- WHERE 절
- FROM 절에서 생성된 결과 테이블에 대해 필터링 조건을 적용합니다. 이 조건은 개별 행에 대해 평가되며, 조건을 만족하는 행만이 다음 단계로 전달됩니다.
- GROUP BY 절
- 조건을 만족하는 행들을 그룹화합니다. 이 절은 특정 열 또는 열의 조합을 기준으로 데이터를 요약하는 데 사용됩니다.
- HAVING 절
- GROUP BY 절에 의해 형성된 그룹에 대해 추가적인 필터를 적용합니다. 이 절은 GROUP BY 절과 함께 사용되어 그룹화된 결과에 조건을 적용합니다.
- SELECT 절
- 최종적으로 출력될 열을 결정합니다. 이 절에서는 특정 열이나 식을 지정하여 출력 포맷을 정의합니다. 이 단계에서는 열에 대한 모든 계산(예: 집계 함수)이 수행됩니다.
- DISTINCT
- 중복을 제거하기 위해 사용됩니다. SELECT 절 다음에 위치하며, 선택된 데이터에서 중복된 값을 제거합니다.
- ORDER BY 절 (오름차순, 내림차순)
- 쿼리 결과를 특정 열을 기준으로 정렬합니다. 이 절은 쿼리의 마지막 단계에서 실행되어 최종 결과를 정렬된 형태로 반환합니다.
- LIMIT / OFFSET 절
- 반환할 결과의 수를 제한하거나, 특정 수의 행을 건너뛰고 결과를 반환합니다. 이는 주로 페이지네이션 구현에 유용합니다.
SELECT id, name, class, score
FROM tb_student
WHERE score > 80
ORDER BY score DESC
LIMIT 3;
- From 절부터 실행
- where 절 실행
- select 절 실행
- order by 절 실행
- limit 절 실행
- FROM 절 쿼리는 먼저 tb_student 테이블을 참조하여 데이터를 가져오는 작업부터 시작합니다. 이 단계에서 테이블의 모든 데이터가 초기 조회 대상이 됩니다.
- WHERE 절 FROM 절에서 가져온 데이터에 대해 WHERE 절이 실행됩니다. 이 조건은 score > 80을 만족하는 행만을 필터링하여 다음 단계로 전달합니다. 즉, 점수가 80점을 초과하는 학생들만이 선택됩니다.
- SELECT 절 필터링된 결과에서 SELECT 절이 실행되어, id, name, class, score 필드를 선택합니다. 이 단계에서 데이터는 필요한 컬럼 정보만을 포함하게 되며, 불필요한 데이터는 제외됩니다.
- ORDER BY 절 SELECT 절에 의해 추출된 데이터는 ORDER BY score DESC 절에 따라 점수가 높은 순서대로 내림차순 정렬됩니다. 이는 최종 결과를 사용자가 요구한 순서대로 정렬하는 데 사용됩니다.
- LIMIT 절 마지막으로, ORDER BY 절에 의해 정렬된 결과 중 상위 10개의 행만을 반환합니다. LIMIT 10은 결과 집합에서 처음 10개의 행만을 제한적으로 선택하여 반환하라는 지시입니다.
'MySQL' 카테고리의 다른 글
DML,DDL,DCL 이란? (0) | 2024.06.13 |
---|---|
MySQL 계정 생성 및 권한 (0) | 2024.06.13 |
Groub By 와 having 절 (0) | 2024.06.13 |
MySQL Function (1) | 2024.06.13 |
데이터 복사 및 데이터 추가 (0) | 2024.06.13 |