Mệnh đề HAVING trong SQL
Mệnh đề HAVING trong SQL được sử dụng để lọc các bản ghi và chỉ lấy những bản ghi phù hợp với yêu cầu hoặc thực sự cần thiết tương tự như mệnh đề WHERE. Tuy nhiên:
- WHERE là câu lệnh điều kiện trả kết quả đối chiếu với từng dòng.
- HAVING là câu lệnh điều kiện trả kết quả đối chiếu cho nhóm được tạo bởi mệnh đề GROUP BY.
Vì vậy mà sau GROUP BY thì sẽ chỉ dùng được HAVING còn WHERE không dùng được sau GROUP BY.
Cú pháp sử dụng HAVING trong SQL
Vị trí của mệnh đề HAVING trong một truy vấn SQL như sau:
SELECTFROMWHEREGROUP BYHAVINGORDER BY
Lưu ý: Mệnh đề HAVING phải theo sau mệnh đề GROUP BY trong một truy vấn và đặt trước mệnh đề ORDER BY nếu được sử dụng.
Dưới đây là cú pháp của lệnh SELECT bao gồm mệnh đề HAVING:
SELECT cot1, cot2FROM bang1, bang2WHERE [ dieu_kien ]GROUP BY cot1, cot2HAVING [ dieu_kien ]ORDER BY cot1, cot2
Ví dụ về HAVING trong SQL
Giả sử bảng NHANVIEN có các bản ghi như sau:
+----+----------+-----+-----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | +----+----------+-----+-----------+----------+ | 1 | Thanh | 32 | Haiphong | 2000.00 | | 2 | Loan | 25 | Hanoi | 1500.00 | | 3 | Nga | 23 | Hanam | 2000.00 | | 4 | Manh | 25 | Hue | 6500.00 | | 5 | Huy | 27 | Hatinh | 8500.00 | | 6 | Cao | 22 | HCM | 4500.00 | | 7 | Lam | 24 | Hanoi | 10000.00 | +----+----------+-----+-----------+----------+
Để hiển thị bản ghi có độ tuổi xuất hiện lớn hơn hoặc bằng 2 lần, ta chạy lệnh như sau:
SQL > SELECT ID, TEN, TUOI, DIACHI, LUONGFROM NHANVIENGROUP BY tuoiHAVING COUNT(tuoi) >= 2;
Kết quả trả về là:
+----+----------+-----+-----------+----------+ | ID | TEN |TUOI | DIACHI | LUONG | +----+----------+-----+-----------+----------+ | 2 | Loan | 25 | Hanoi | 1500.00 | +----+----------+-----+-----------+----------+
Trong phần tiếp theo, chúng ta sẽ tìm hiểu về Transaction trong SQL, các bạn nhớ theo dõi nhé.
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

1001+ kí tự đặc biệt Liên Quân (ு८ு) ≧◔◡◔≦ ❤️💜 ⌇˚ '✧ '✬
Hôm qua 1 -

INNER JOIN trong SQL
Hôm qua -

Những stt hay nói về sự phản bội trong tình yêu
Hôm qua -

Xếp hạng các nhân vật trong Dislyte, Dislyte Tier List
Hôm qua -

Tải full bộ hình nền iOS 18 đầy đủ với độ phân giải cao
Hôm qua -

280 triệu người đã cài đặt tiện ích Chrome bị nhiễm malware
Hôm qua -

2 tỉnh miền núi là nơi có tốc độ mạng nhanh nhất Việt Nam
Hôm qua -

Tại sao giao diện Windows lại ngày càng rời rạc?
Hôm qua -

Sửa lỗi Fatal Error Wuthering Waves
Hôm qua -

200+ biệt danh cho người yêu bằng tiếng Anh hay và ngọt ngào
Hôm qua
Học IT
Công nghệ
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Hướng dẫn
Ô tô, Xe máy