- 문법 순서
SELECT -> FROM -> JOIN -> WHERE -> GROUP BY -> HAVING -> ORDER BY
- 실행 순서
FROM 과 ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT/OFFSET
- FROM 과 ON - 조회 테이블 확인, 조인 조건 확인
- JOIN - 테이블 조인 (병합)
- join 이 먼저 실행되어 데이터가 set 으로 모아지게 됨
- 서브 쿼리도 함께 포함되어 임시적인 테이블을 만들 수 있게 도와줌
- WHERE - 조건 확인
- 데이터 셋을 모았으면 where 조건이 개별 행에 적용됨
- where 절의 제약 조건은 from 절로 가져온 테이블에 적용될 수 있다
- GROUP BY - 특정 컬럼 그룹화
- where 조건 적용 후 나머지 행은 group by 절에 지정된 열의 공통 값을 기준으로 그룹화 된다
- HAVING - 그룹화 이후 데이터 추출 조건
- group by 절이 쿼리에 있을 경우 having 절의 제약 조건이 그룹화된 행에 적용됨
- SELECT 데이터 추출
- select 에 표현된 식이 마지막으로 적용됨
- DISTINCT
- 중복된 행은 삭제
- ORDER BY
- 지정된 데이터를 기준으로 오름차순, 내림 차순을 지정
- LIMIT / OFFSET
- LIMIT와 OFFSET에서 벗어나는 행들이 제외되어서 출력
https://velog.io/@cyanred9/%EC%BF%BC%EB%A6%AC-%EC%8B%A4%ED%96%89-%EC%88%9C%EC%84%9C
'개발' 카테고리의 다른 글
typeOrm에서 DataSourceOptions 에 대하여 (0) | 2023.05.30 |
---|---|
Datadog와 Slack을 연동하는 방법 (0) | 2023.04.26 |