HAVING 절은 조건이 TRUE인 경우에만 반환되는 행 그룹을 제한하기 위해 SQL Server(Transact-SQL)의 GROUP BY 절과 함께 사용됩니다.
SQL Server의 HAVING 절 구문
SELECT bieuthuc1, 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 thanhpho, COUNT (*) AS 'So nhanvien'
FROM nhanvien
WHERE bang = 'California'
GROUP BY thanhpho
HAVING COUN
T (*)> 20;
이 예는 현재 캘리포니아에 있는 도시와 직원 수(해당 도시에 있는)를 반환합니다. HAVING 절은 직원이 20명 이상인 도시만 반환하도록 필터링됩니다.
예:MIN 함수 사용
SELECTbophan, MIN (luong) AS 'Luong thap nhat'
FROM nhanvien
GROUP BY bophan
HAVING MIN
(luong)> = 50000;
이 예에서 반환된 결과는 각 부서의 이름과 각 부서의 최저 임금입니다. HAVING 절은 최저 임금이 $50,000 이상인 부품만 반환합니다.
예:MAX 기능 사용
SELECT ho, MAX (luong) AS 'Luong cao nhat'
FROM nhanvien
GROUP BY bophan
HAVING MA
X (luong)> 34000;
이 마지막 예에서 결과는 직원의 성 및 해당 가족 가치에 대한 최대 급여입니다. HAVING 절은 최대 급여가 $34,000 이상인 값만 제한합니다.