Mệnh đề HAVING được tiêu dùng kết hợp với mệnh đề GROUP BY trong SQL Server (Transact-SQL) để giới hạn nhóm những hàng trả về, chỉ lúc điều kiện được được đạt được ý muốn là TRUE.
Cú pháp mệnh đề HAVING trong SQL Server
SELECT bieuthuc1, bieuthuc2, … bieuthuc_n,
ham_tong (bieuthuc)
FROM bang
[WHERE dieukien]
GROUP BY bieuthuc1, bieuthuc2, … bieuthuc_n
HAVING dieukie
n_having;
Tên biến hoặc giá trị biến
ham_tong
Có thể là những hàm như SUM, COUNT, MIN, MAX hoặc AVG.
bieuthuc1, bieuthuc2, … bieuthuc_n
Biểu thức ko nằm bên trong hàm tổng và phải nằm trong mệnh đề GROUP BY.
WHERE dieukien
Tùy tậu. Các điều kiện mà bản ghi phải đạt được ý muốn để được tậu.
HAVING dieukien_having
Đây là điều kiện thêm chỉ áp dụng với kết quả tổng để giới hạn những nhóm của những hàng được trả về. Chỉ những nhóm mà điều kiện được mô tả thông tin là TRUE mới nằm trong bộ kết quả.
Ví dụ – tiêu dùng hàm SUM
SELECT bophan, SUM(soluong) AS “Tong so luong”
FROM sanpham
GROUP BY bophan
HAVING SUM (soluong) > 1
00;
Ví dụ về mệnh đề HAVING ở trên tiêu dùng hàm SUM để trả về tên của bộ phận và tổng số lượng (trong bộ phận liên quan). Mệnh đề HAVING sẽ lọc kết quả để chỉ những bộ phận với số lượng lớn hơn 100 được trả về.
Ví dụ – tiêu dùng hàm COUNT
SELECT thanhpho, COUNT (*) AS “So nhanvien”
FROM nhanvien
WHERE bang = ‘California’
GROUP BY thanhpho
HAVING COUN
T (*) > 20;
Ví dụ này trả về thành phố và số nhân viên (ở thành phố đó) hiện đang ở bang California. Mệnh đề HAVING sẽ lọc để chỉ trả về những thành phố với nhiều hơn 20 nhân viên.
Ví dụ – tiêu dùng hàm MIN
SELECTbophan, MIN (luong) AS “Luong thap nhat”
FROM nhanvien
GROUP BY bophan
HAVING MIN
(luong) >= 50000;
Ở ví dụ này, kết quả trả về là tên của mỗi bộ phận và số lương tối thiểu trong từng bộ phận. Mệnh đề HAVING sẽ chỉ trả về những bộ phận với lương tối thiểu lớn hơn hoặc bằng $50.000.
Ví dụ – tiêu dùng hàm MAX
SELECT ho, MAX (luong) AS “Luong cao nhat”
FROM nhanvien
GROUP BY bophan
HAVING MA
X (luong) > 34000;
Trong ví dụ cuối cùng này, kết quả trả về là họ của nhân viên và số lương tối đa cho giá trị họ đó. Mệnh đề HAVING giới hạn chỉ trả về những giá trị họ với lương tối đa lớn hơn $34.000.
Bài trước: Mệnh đề GROUP BY trong SQL Server
Bài sau: Lệnh SELECT TOP trong SQL Server
Các bạn đang xem tin tức tại Tin 24h 24h – Chúc những bạn một ngày vui vẻ
Từ khóa: Mệnh đề HAVING trong SQL Server