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:
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER 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, cot2
FROM bang1, bang2
WHERE [ dieu_kien ]
GROUP BY cot1, cot2
HAVING [ 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, LUONG
FROM NHANVIEN
GROUP BY tuoi
HAVING 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é.
20.776
Bạn nên đọc
0 Bình luận
Sắp xếp theo
Xóa Đăng nhập để Gửi
Cũ vẫn chất
-
Cách fix lỗi 0xc000007b trên Windows
Hôm qua 4 -
18 mặt đồng hồ Apple Watch thông dụng nhất
Hôm qua -
11 lựa chọn thay thế tốt nhất cho Canva
Hôm qua -
eQuiz - Bài kiểm tra trắc nghiệm về lập trình C (Phần 1)
Hôm qua -
Cách đổi font chữ mặc định trong Google Docs
Hôm qua -
Mẹo lên level nhanh Blox Fruit, lên cấp nhanh Blox Fruit
Hôm qua -
Cách xóa đường kẻ ngang trong Word
Hôm qua -
Cách tắt đang soạn tin nhắn Zalo
Hôm qua -
15 phần mềm chỉnh sửa ảnh miễn phí tốt nhất trên máy tính
Hôm qua 3 -
3133 là gì? 3133 là số điện thoại của tổng đài nào? Có phải lừa đảo không?
Hôm qua