반응형
Select SQL 실행순서(오라클 SQL 기준)
1) FROM table(s) [alias]
- FROM 절에 사용된 테이블을 인식하여 데이터 딕셔너리에서 관련된 정보들을 파악
2) [WHERE condition(s)]
- WHERE절에서 조건에 맞는 데이터를 추출
3) [GROUP BY column(s)]
- GROUP BY절이 추가되면 GROUP BY절에 사용된 항목별로 데이터의 정렬이 일어남
4) [HAVING condition(s)]
- HAVING 절은 GROUP BY절로 정렬이 된 데이터를 대상으로 조건을 정의.
5) SELECT {*, column(s) [alias],...}
- 대부분의 RDBMS가 ROW(로우)기준 저장구조입니다. SELECT이전까지 원하지 않는 칼럼까지도 데이터베이스의 메모리에 저장.
6 [ORDER BY column(s) [alias] [DESC],.....];
- ORDER BY절이 가장 나중에 실행.
- SELECT절에서 선택되지 않은 칼럼이나 연산도 데이터베이스의 메모리에 저장되어있으므로 ORDER BY절에서 사용
정리하자면 다음과 같다.
1.FROM 절에서 테이블의 목록을 가져옴
2.WHERE 절에서 검색 조건에 불일치 하는 행 제외
3.GROUP BY 절에서 명시된 행의 값을 그룹화
4.HAVING 절이 GROUP BY 절의 결과 행 중 검색 조건에 불일치 하는 행 제외
5.SELECT 절에서 명시된 열을 정리
6.ORDER BY 절에서 열을 기준으로 출력할 대상을 정렬 후 출력
반응형