Data

SQL - HAVING

baecode 2022. 9. 6. 21:18
반응형

HAVING?

HAVING 절은 개별로 사용이 불가하고

GROUP BY와 함께쓰며 그룹을 나타내는 결과  즉 , 필터링 하는데 사용 됩니다.

여기서 COUNT,MIN,MAX와 같은 집계 함수는 HAVING 과 함께 사용할 수 있습니다.

 

Example.

SELECT COUNT(customer_id), country
FROM Customers
GROUP BY country
HAVING COUNT(customer_id) > 1;

예시를 보면, country로 그룹화를 하여서 rows의 수를 계산합니다.

그리고 COUNT(customer_id) > 1 로  1보다 크면 결과 그룹을 반환합니다.

위 예시와 설명의 시각화

 

여기에서 또 알아야 하는 것이 가장 많이 쓴다고 할 수 있는 WHERE 과 HAVING의 차이점이다.

먼저 요약 하자면 HAVING 은 그룹을 필터링 하고, WHERE은 각 개별 행을 필터링 합니다.

 

HAVING

- 집계함수 ( COUNT,MIN,MAX...) 와 함께 사용이 가능합니다.

- HAVING 은 GROUP BY 뒤에서 사용합니다.

 

WHERE

- 집계함수 와 함께 사용이 불가능합니다.

- WHERE 절은 GROUP BY 앞에 사용합니다.

 

 

 

이미지 출처 : https://www.programiz.com/sql/having

반응형

'Data' 카테고리의 다른 글

SQL - GROUP BY  (0) 2022.09.06
SQL - Join  (0) 2022.09.05