Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL Server

SQL Server의 HAVING 절

HAVING 절은 조건이 TRUE인 경우에만 반환되는 행 그룹을 제한하기 위해 SQL Server(Transact-SQL)의 GROUP BY 절과 함께 사용됩니다.

SQL Server의 HAVING 절 구문

  SELECT bie uthuc1, bieuthuc2, … bieuthuc_n, 
ham_tong (bieuthuc)
FROM bang
[WHERE dieukien]
GROUP BY bieuthuc1, bieuthuc2, … bieuthuc_n
HAVING dieukie n_having;

변수 이름 또는 변수 값

ham_tong

SUM, COUNT, MIN, MAX 또는 AVG와 같은 함수일 수 있습니다.

bieuthuc1, bieuthuc2, . bieuthuc_n

식은 전체 함수 내에 있지 않으며 GROUP BY 절에 있어야 합니다.

어디에

옵션. 레코드가 선택되기 위해 충족해야 하는 조건입니다.

가지고 있는 것

반환되는 행의 그룹을 제한하기 위해 전체 결과에만 적용되는 추가 조건입니다. 조건이 평가된 그룹만 결과 집합에서 TRUE입니다.

예:SUM 함수 사용

  SELECT bophan, SUM  (soluong) AS 'Tong so luong' 
FROM sanpham
GROUP BY bophan
HAVING SUM (soluong) > 1 00;

위 HAVING 절의 예는 SUM 함수를 사용하여 부서 이름과 총 수량(해당 부서)을 반환합니다. HAVING 절은 100보다 큰 숫자를 가진 부분만 반환되도록 결과를 필터링합니다.

예:COUNT 함수 사용

  SELECT th anhpho, COUNT (*) AS 'So nhanvien' 
FROM nhanvien
WHERE bang = 'California'
GROUP BY thanhpho
HAVING COUN T (*)> 20;

이 예는 현재 캘리포니아에 있는 도시와 직원 수(해당 도시에 있는)를 반환합니다. HAVING 절은 직원이 20명 이상인 도시만 반환하도록 필터링됩니다.

예:MIN 함수 사용

  SELECT bophan, MIN (luong) AS 'Luong thap nhat' 
FROM nhanvien
GROUP BY bophan
HAVING MIN (luong)> = 50000;

이 예에서 반환된 결과는 각 부서의 이름과 각 부서의 최저 임금입니다. HAVING 절은 최저 임금이 $50,000 이상인 부품만 반환합니다.

예:MAX 기능 사용

  SELECT h o, MAX (luong) AS 'Luong cao nhat' 
FROM nhanvien
GROUP BY bophan
HAVING MA X (luong)> 34000;

이 마지막 예에서 결과는 직원의 성 및 해당 가족 가치에 대한 최대 급여입니다. HAVING 절은 최대 급여가 $34,000 이상인 값만 제한합니다.