Mệnh đề HAVING trong SQL Server – Tin 24h

Công nghệ

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 dieukien_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) > 100;

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 COUNT (*) > 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

SELECT bophan, 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 MAX (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

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai.