해결된 질문
작성
·
60
답변 1
1
ming님, 안녕하세요!
WHERE 절은 GROUP BY나 집계함수가 실행되기 전 실행되는 것이 맞습니다.(논리적 순서입니다.)
GROUP BY하지 않고도 집계함수를 사용할 수 있으니 GROUP BY 절 이전이라고 표현했다면 엄밀한 표현은 아닌 것 같습니다. 정확하지 않은 표현으로 혼란을 드려 죄송합니다. 🙏🙏🙏
WHERE 절이 GROUP BY, 집계 이전에 실행되고 또다른 필터링 절인 HAVING 절과 용도가 구분된 이유는 몇 가지가 있습니다.
GROUP BY와 집계에 많은 자원이 필요해서 이전에 필터링 해서 필요한 데이터만 집계하도록 한 것입니다.
집계하고 나면 전체적으로 테이블 구조가 바뀌고 집계된 열이 새로 만들어 질 수 있기 때문에 HAVING 절을 따로 둬서 이용하게 된 것입니다.
답변이 부족했다면 다시 질문해주세요!
의문점을 품어두지 않고 질문해 주셔서 감사합니다.