[BE] [MySQL] GROUP BY와 쓰일 때 WHERE절과 HAVING절의 차이

J.A.Y·2024년 2월 7일
0

Back-end

목록 보기
3/3
post-thumbnail

GROUP BY

💡 "테이블을 여러 개 연결지어 데이터를 읽어올 때 아주 유용하구나!"

사실 그 동안 GROUP BY를 사용해볼 기회가 없다보니 어디에 이 절이 유용한지 머릿속에서 잘 그려지지 않았었습니다. 근데 두 개 이상의 테이블을 합쳐서 데이터를 조회해보니 GROUP BY의 유무에 따라 데이터 조회 결과물이 확연히 달라지더군요. 딱 필요한 부분만 가져올 수 있어서 가독성이 좋은 것은 물론, 필요치 않은 데이터들은 쳐냄으로써 불러오는 데이터양을 줄일 수 있다는 장점이 있는 것 같습니다.


WHERE vs HAVING

GROUP BY를 공부하면서 WHEREHAVING의 차이점도 알게 됐는데, 둘을 잘 활용하면 보다 더 구체적으로 데이터를 조회할 수 있겠다는 생각을 했습니다.

WHEREHAVING의 차이는 GROUP BY의 영향을 받는가 아닌가에 따라 있습니다.

WHERE

WHEREGROUP BY로 행들이 그룹화되기 전에 단일 행들을 필터링 해줍니다. 이 때문에 보통 쿼리문에서도 WHEREGROUP BY 절 전에 작성하는 것을 볼 수 있지요.

HAVING

반면, HAVING은 그룹화를 거친 행들을 필터링해줍니다. 그래서 HAVING절은 보통 GROUP B Y 뒤에 작성되는 것을 볼 수 있습니다.

profile
Done is better than perfect🏃‍♀️

0개의 댓글