Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Khác biệt giữa mệnh đề WHERE và HAVING trong SQL

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 BY nế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