Cơ sở dữ liệu

Mệnh đề HAVING khác WHERE ở điểm nào?

Trong SQL, mệnh đề HAVING khác WHERE ở điểm nào?

Xuất bản 18/10/2026

Câu hỏi

Trong SQL, mệnh đề HAVING khác WHERE ở điểm nào?

  1. A. HAVING lọc từng dòng dữ liệu trước khi các dòng được gom thành nhóm
  2. B. HAVING chỉ dùng được trong câu lệnh SELECT không có mệnh đề GROUP BY
  3. C. HAVING dùng để sắp xếp các dòng kết quả theo thứ tự tăng dần hoặc giảm dần
  4. D. HAVING lọc các nhóm sau GROUP BY nên dùng được hàm gộp như COUNT, SUM

Đáp án

D. HAVING lọc các nhóm sau GROUP BY nên dùng được hàm gộp như COUNT, SUM

Giải thích

Câu lệnh SELECT áp dụng WHERE trước để loại các dòng không thỏa điều kiện. Sau đó GROUP BY gom các dòng còn lại thành nhóm, rồi HAVING mới lọc các nhóm, nên điều kiện trong HAVING dùng được hàm gộp, ví dụ HAVING COUNT(*) > 5. WHERE không dùng được hàm gộp. Lọc từng dòng trước khi gom nhóm là việc của WHERE. HAVING thường đi cùng GROUP BY chứ không bị cấm dùng với nó. Sắp xếp kết quả là việc của ORDER BY.

Chủ đề: Cơ sở dữ liệu · Mức độ: Thông hiểu

Bài liên quan