Giới thiệu
Sử dụng toán tử AND trong mệnh đề WHERE để lọc bản ghi thỏa mãn đồng thời nhiều điều kiện trên các cột khác nhau (ví dụ: tên = 'Robert' VÀ Id > 1).
Ví dụ thực hành
1. Tạo bảng DemoTable819
mysql> CREATE TABLE DemoTable819 (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(100)
);
2. Chèn dữ liệu
mysql> INSERT INTO DemoTable819(StudentName) VALUES
('Chris'),('Robert'),('Adam'),('Mike'),('Sam');
3. Truy vấn: StudentName = 'Robert' VÀ StudentId > 1
mysql> SELECT * FROM DemoTable819
WHERE StudentName = 'Robert' AND StudentId > 1;
4. Kết quả
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 2 | Robert |
+-----------+-------------+
Mở rộng
- OR: Thỏa mãn một trong các điều kiện.
- IN:
WHERE StudentName IN ('Robert','Chris') AND StudentId > 1. - Phân tách logic: Dùng ngoặc cho rõ ràng:
WHERE (A AND B) OR C. - Index: Tạo index composite
(StudentName, StudentId)để tối ưu truy vấn này.
Lưu ý
- So sánh chuỗi trong MySQL mặc định không phân biệt chữ hoa/thường (collation
_ci). - Nếu cần phân biệt:
WHERE StudentName = BINARY 'Robert'hoặc cột dùng collation_cs/_bin. - Luôn liệt kê cột cụ thể (
SELECT StudentId, StudentName) thay vìSELECT *trong production.