Hiểu khác biệt giữa mệnh đề WHERE và HAVING trong SQL.
Mệnh đề WHERE
- Lọc bản ghi từ bảng dựa trên điều kiện cụ thể.
- Có thể dùng không cần mệnh đề
GROUP BY. - Dùng với thao tác hàng (row operations).
- Không chứa hàm tổng hợp (aggregate functions).
- Dùng với câu lệnh
SELECT,UPDATE,DELETE. - Dùng trước mệnh đề
GROUP BYnếu cần. - Dùng với hàm đơn hàng như
UPPER,LOWER.
Mệnh đề HAVING
- Lọc bản ghi từ các nhóm dựa trên điều kiện cụ thể.
- Không thể dùng không có mệnh đề
GROUP BY. - Hoạt động với thao tác cột (column operation).
- Có thể chứa hàm tổng hợp.
- Chỉ dùng với câu lệnh
SELECT. - Dùng sau mệnh đề
GROUP BY. - Dùng với hàm đa hàng như
SUM,COUNT.
Cú pháp:
SELECT column1, column2 FROM table1, table2 WHERE [conditions] GROUP BY column1, column2 HAVING [conditions] ORDER BY column1, column2