프로그래밍 언어/SQL

[SQL] SELECT 문의 실행 순서

타밍 2023. 6. 28. 17:19

SELECT문에는 사용자가 원하는 데이터를 출력하기 위해 다양한 방법으로 조건 설정이 가능하다.

SELECT 칼럼명
FROM 테이블명
WHERE 조건식
GROUP BY 칼럼 | 표현식
HAVING 그룹 조건식
ORDER BY 칼럼 | 표현식 [ASC | DESC]

 

이렇게 SELECT 문장은 개의 절로 구성되며, 실행 순서는 다음과 같다.

 

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

  1. FROM : 테이블을 참조한다.
  2. WHERE : 조건 부여를 통해 발췌 대상 데이터가 아닌 것은 제거한다.
  3. GROUP BY : 행들을 그룹화한다.
  4. HAVING : 그룹핑된 값의 조건에 맞는 것만 출력한다.
  5. SELECT : 데이터를 출력한다. 
  6. ORDER BY : 데이터를 정렬한다.

 

위의 단계는 오라클 옵티마이저가 문장을 해석하는 논리적 순서이므로, 실제로 수행되는 물리적 순서는 달라질 수 있다.

 

 

SELECT 절 , FROM 절, WHERE 절 https://sr-itdiary.tistory.com/10

 

[SQL] SELECT 문 - SELECT, FROM, WHERE

SELECT [ALL/DISTINCT] 출력 칼럼명, 출력 칼럼명, ··· FROM 출럼 칼럼명의 테이블; ALL(DEFAULT) : 중복된 데이터가 있어도 모두 출력 DISTINCT : 중복된 데이터가 있을 경우 1건으로 처리해 출력한다. 테이블

sr-itdiary.tistory.com

GROUP BY 절, HAVING 절 https://sr-itdiary.tistory.com/16

 

[SQL] 집계함수, GROUP BY , HAVING 절

1. 집계함수 I) 여러 행들의 그룹이 모여 그룹 당 단 하나의 결과를 함수 II) GROUP BY 절은 행들을 소그룹 III) SELECT 절, HAVING 절, ORDER BY 절에 사용 가능 집계함수도 SELECT절에서 사용하는 것 처럼 DISTIN

sr-itdiary.tistory.com

ORDER BY  https://sr-itdiary.tistory.com/17

 

[SQL] ORDER BY 절

ORDER BY 절은 SQL 문장으로 조회한 데이터들을 특정 칼럼을 기준으로 정렬하는데 사용된다. 칼럼명 대신에 SELECT 절에서 사용한 ALIAS 명이나 칼럼 순서를 나타내는 정수도 사용이 가능하다. SELECT 칼

sr-itdiary.tistory.com