Trong SQL, WHERE và HAVING đều được sử dụng để lọc dữ liệu, tuy nhiên chúng có những điểm khác biệt quan trọng:

1. Vị trí sử dụng:
- WHERE: được sử dụng trong mệnh đề SELECT trước GROUP BY. Mục đích của WHERE là lọc các dòng dữ liệu trước khi thực hiện phép tính tổng hợp.
- HAVING: được sử dụng trong mệnh đề SELECT sau GROUP BY. Mục đích của HAVING là lọc các nhóm dữ liệu sau khi đã thực hiện phép tính tổng hợp.
2. Loại dữ liệu được lọc:
- WHERE: có thể lọc dữ liệu dựa trên giá trị của bất kỳ cột nào trong bảng.
- HAVING: chỉ có thể lọc dữ liệu dựa trên giá trị tổng hợp (SUM, COUNT, AVG, MIN, MAX,…) của các nhóm dữ liệu.
3. Ví dụ:
Giả sử bạn có bảng dữ liệu về nhân viên với các cột: id, name, department, salary.
- WHERE: Lọc các nhân viên có mức lương cao hơn 10 triệu:
SQL
SELECT * FROM employees WHERE salary > 10000000;
- HAVING: Lọc các bộ phận có tổng lương cao hơn 1 tỷ:
SQL
SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department
HAVING total_salary > 1000000000;
4. Tóm tắt:
| Tính năng | WHERE | HAVING |
|---|---|---|
| Vị trí | Trước GROUP BY | Sau GROUP BY |
| Loại dữ liệu được lọc | Cột | Giá trị tổng hợp |
| Ví dụ | Lọc dòng dữ liệu | Lọc nhóm dữ liệu |
Lưu ý:
- Có thể sử dụng WHERE và HAVING cùng nhau trong một câu truy vấn.
- WHERE được sử dụng thường xuyên hơn HAVING.
Xem thêm:

Martfury - WooCommerce Marketplace WordPress Theme
TheGem - Creative Multi-Purpose & WooCommerce WordPress Theme
Savoy - Minimalist AJAX WooCommerce Theme
Consultix - Business Consulting WordPress Theme
Elessi - WooCommerce AJAX WordPress Theme - RTL support
Impreza - WordPress Website and WooCommerce Builder
Soledad - Multipurpose Newspaper Blog & WooCommerce WordPress Theme
Striking - MultiFlex & Ecommerce Responsive WP Theme
Shopkeeper - Multi-Purpose WooCommerce Theme
KALLYAS - Creative eCommerce Multi-Purpose WordPress Theme
All In One Addons for WPBakery
Rank Math SEO Pro
WPBakery Page Builder Clipboard
WoodMart - Multipurpose WooCommerce Theme
CSS3 Compare Pricing Tables
Booked
Interactive World Maps
Go Pricing