HAVING trong SQL là gì?

HAVING được sử dụng trong câu lệnh GROUP BY để lọc dữ liệu như WHERE.
Sử dụng HAVING vì WHERE không thể sử dụng được với các hàm tổng hợp như AVG, COUNT, SUM…

Cú pháp:

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;

Ví dụ 1: Lấy ra tất cả Orders trong database NorthWind có OrderID > 10251 và có tổng số lượng hàng hóa lớn hơn 50.

USE northwind; 

GO 

SELECT Orders.OrderID, 
       Sum([Order Details].Quantity) As 'Tổng Số lượng hàng hóa' 
FROM   Orders 
       JOIN [Order Details] 
         ON Orders.OrderID = [Order Details].OrderID 
WHERE  Orders.OrderID > 10251 
GROUP  BY Orders.OrderID 
HAVING Sum([Order Details].Quantity) > 50 

Sở dĩ WHERE không sử dụng được các hàm tổng hợp vì khi , trước tiên SQL sẽ lọc dữ liệu từ câu lệnh WHERE sau đó mới tiến hành nhóm. Lúc đó các record chưa được nhóm lại nên không thể sử dụng được các hàm tổng hợp.

Bạn có thể tham khảo cách cài đặt database northwind tại đây:
http://hocdai.com/sql-can-ban/cai-dat-sql/cai-dat-database-northwind

Tài liệu tham khảo: http://www.w3schools.com/sql/sql_having.asp

Các môn học khác

HTTP giúp kết nối các máy tính trên mạng Internet thông qua TCP/IP

C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.

Docker là công nghệ ảo hóa container phổ biến nhất hiện nay. Nó giúp bạn phát triển và deploy phần mềm một cách dễ dàng hơn.