Last updated on January 12th, 2026 at 04:01 pm
Trong ngôn ngữ truy vấn SQL, mệnh đề WHERE và HAVING được sử dụng rất nhiều. Tuy nhiên, vẫn có rất nhiều học viên bị nhầm lẫn và gặp khó khăn trong khi sử dụng 2 mệnh đề này. Bài viết dưới đây INDA Academy sẽ so sánh mệnh đề WHERE và HAVING trong SQL để giúp học viên hiểu rõ hơn về sự khác nhau cũng như cách sử dụng giữa hai mệnh đề này.
Mục lục
Mệnh đề WHERE trong SQL
- Mệnh đề WHERE dùng để kiểm tra các điều kiện cho các thuộc tính của bảng, trả kết quả đối chiếu với từng dòng.

- Cú pháp:
| 1234 | Selectcolumn_listsFromtable_nameWHEREconditionsGroupbycolumn_lists |
- Ví dụ: Bảng khach_hang
| CustomerID | Gender | City | SalesAmount |
| 1 | Nam | Hà Nội | 200.000 |
| 2 | Nam | Hồ Chí Minh | 315.000 |
| 3 | Nữ | Hà Nội | 160.000 |
| 4 | Nữ | Hà Nội | 120.000 |
| 5 | Nam | Hồ Chí Minh | 125.000 |
| 6 | Nữ | Đà Nẵng | 185.000 |
| 7 | Nam | Đà Nẵng | 316.000 |
| 8 | Nữ | Hải Phòng | 295.000 |
Khi thực hiện truy vấn:
| 1234567 | SelectCustomerID, Gender, City, SalesAmountFromkhach_hangWHERESalesAmount > 200000GroupbyCustomerID, Gender, City |
Ta được kết quả sau:
| CustomerID | Gender | City | SalesAmount |
| 1 | Nam | Hà Nội | 200.000 |
| 2 | Nam | Hồ Chí Minh | 315.000 |
| 7 | Nam | Đà Nẵng | 316.000 |
| 8 | Nữ | Hải Phòng | 295.000 |
Mệnh đề HAVING
- Mệnh đề HAVING được dùng để giới hạn nhóm các hàng trả về trong bảng, trả kết quả đối chiếu cho các nhóm (Sum, Count, Average,…) được tạo bởi Group by.
- Mệnh đề WHERE và HAVING trong SQL khác nhau ở chỗ mệnh đề HAVING được thêm vào SQL vì mệnh đề WHERE không thể sử dụng được với các aggregate functions.
- Có thể sử dụng mệnh đề WHERE và HAVING cùng nhau trong quá trình lựa chọn. Trong trường hợp này, đầu tiên mệnh đề WHERE lọc các hàng riêng lẻ, sau đó các hàng được nhóm lại, thực hiện các phép tính tổng hợp và cuối cùng mệnh đề HAVING lọc các nhóm.

- Symtax:
| 1234567891011 | Selectcolumn_lists, aggregate_function (expression)Fromtable_nameWHEREconditionsGroupbycolumn_listsHAVINGconditions |
- Ví dụ: Tiếp tục lấy Bảng khach_hang ở trên
| CustomerID | Gender | City | SalesAmount |
| 1 | Nam | Hà Nội | 200.000 |
| 2 | Nam | Hồ Chí Minh | 315.000 |
| 3 | Nữ | Hà Nội | 160.000 |
| 4 | Nữ | Hà Nội | 120.000 |
| 5 | Nam | Hồ Chí Minh | 125.000 |
| 6 | Nữ | Đà Nẵng | 185.000 |
| 7 | Nam | Đà Nẵng | 316.000 |
| 8 | Nữ | Hải Phòng | 295.000 |
Khi thực hiện truy vấn:
| 1234567 | SelectCity, Sum(SalesAmount) asTotal_SalesFromkhach_hangGroupbyCityHAVINGSum(SalesAmount) > 450000 |
Ta được kết quả sau:
| City | Total_Sales |
| Hà Nội | 480.000 |
| Đà Nẵng | 501.000 |
Phân biệt mệnh đề WHERE và HAVING trong SQL
| Nội dung | WHERE | HAVING |
| Cách thức Filter | Từng dòng riêng lẻ | Từng nhóm |
| Dùng với aggregate functions | Không | Có |
| Dùng với các câu lệnh | Select, Update, Delete | Chỉ dùng với Select |
| Dùng với Group by | Dùng trước Group by | Dùng sau Group by |
Kết luận
Trong bài viết trên, INDA Academy đã so sánh sự khác nhau giữa hai mệnh đề WHERE và HAVING trong SQL. Cả 2 mệnh đề này đều có chức năng lọc dữ liệu, tuy nhiên vẫn có một số điểm khác biệt ở cách thức lọc, kết hợp với các câu lệnh khác. Nhìn chung mệnh đề HAVING được trang bị thêm một số tính năng mà mệnh đề WHERE không có.
INDA Academy tự hào là đơn vị tiên phong trong việc đào tạo phân tích dữ liệu và AI chuyên sâu, đặc biệt cho khối ngành Ngân hàng – Tài chính – Bảo hiểm tại Việt Nam. Sau hơn 12 năm “thực chiến” cùng những dòng chảy dữ liệu khổng lồ, chúng tôi đã xây dựng nên một hệ sinh thái đào tạo toàn diện, giúp hàng nghìn học viên chuyển mình từ người mới bắt đầu trở thành những chuyên gia lành nghề, sẵn sàng đáp ứng tiêu chuẩn khắt khe của các doanh nghiệp lớn.
Điểm khác biệt lớn nhất tại INDA chính là triết lý đào tạo dựa trên các dự án thực tế (Project-based) và lộ trình cá nhân hóa nhờ ứng dụng AI. Chúng tôi không chỉ dạy bạn cách sử dụng công cụ, mà còn truyền tải tư duy khai phá giá trị từ dữ liệu để đưa ra quyết định kinh doanh chính xác.
Tìm hiểu thêm về các khóa học TẠI ĐÂY:
Lộ trình đào tạo Data Engineer
Lộ trình đào tạo Data Analyst
Lộ trình đào tạo Tester
Khóa học Data Engineer nâng cao – Thực chiến 5 dự án doanh nghiệp
Khóa học Data Analyst nâng cao – Thực chiến 5 dự án doanh nghiệp
Nguồn: Internet




