본문 바로가기

개발

select 문 쿼리 실행 순서

- 문법 순서

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