본문 바로가기
BackEnd/DB, SQL

SQL 11편: GROUP BY절 사용하기(+ HAVING절)

by summer_light 2021. 12. 27.

GROUP BY절 

  • GROUP BY절의 값이 동일한 것 끼리 같은 그룹이 되며, 이 같은 그룹끼리 연산된다.
  • GROUP BY절에 명시하는 열은 여러 개 지정할 수 있다.
  • 먼저 지정한 열로 대그룹을 나누고 그 다음 지정한 열로 소그룹을 나눈다.
  • GROUP BY 절에는 별칭이 인식되지 않으므로, 열 이름이나 연산식을 그대로 지정해 주어야 한다. 
  • 다중행 함수를 사용하지 않은 일반 열은 GROUP BY절에 명시하지 않으면 SELECT 절에서 사용할 수 없다. 행의 개수가 차이가 나기 때문이다.

 

HAVING 절

  • GROUP BY절에 조건을 줄 때 사용한다. 즉, 그룹화된 결과 값의 범위를 제한하는 데 사용한다. 
  • SELECT문에 GROUP BY절이 존재할 때만 사용할 수 있으며, GROUP BY절 바로 다음에 작성한다

*참고 WHERE절과 HAVING절의 역할 차이

- WHERE절은 출력 대상 행을 제한하는 것이다. WHERE 절이 실행되어 조건에 맞는 데이터만 그룹화가 될 수 있는 것.

- HAVING절은 그룹화된 후의 대상을 출력에서 제한하는 것이다.

 

 

 

 

댓글