MySQL hoàn toàn hỗ trợ nhiều điều kiện trong mệnh đề WHERE kết hợp bằng toán tử AND hoặc OR.
Cú pháp
SELECT * FROM ten_bang WHERE cot1 = gia_tri1 AND cot2 = gia_tri2; -- Cả 2 đều đúng SELECT * FROM ten_bang WHERE cot1 = gia_tri1 OR cot2 = gia_tri2; -- Ít nhất 1 đúng
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE WhereDemo (Id INT, Name VARCHAR(20)); mysql> INSERT INTO WhereDemo VALUES(101, 'Maxwell'); mysql> INSERT INTO WhereDemo VALUES(110, 'David'); mysql> INSERT INTO WhereDemo VALUES(1000, 'Carol'); mysql> INSERT INTO WhereDemo VALUES(1100, 'Bob'); mysql> INSERT INTO WhereDemo VALUES(115, 'Sam');
Dữ liệu:
+------+---------+ | Id | Name | +------+---------+ | 101 | Maxwell | | 110 | David | | 1000 | Carol | | 1100 | Bob | | 115 | Sam | +------+---------+
Truy vấn AND (cả Id=1100 VÀ Name='Bob'):
mysql> SELECT * FROM WhereDemo WHERE Id = 1100 AND Name = 'Bob';
Kết quả (1 hàng):
+------+------+ | Id | Name | +------+------+ | 1100 | Bob | +------+------+
Nếu đổi thành Id = 1100 AND Name = 'Carol' → kết quả rỗng (Empty set).
Thứ tự ưu tiên AND/OR
ANDcó độ ưu tiên cao hơnOR- Sử dụng ngoặc đơn
()để rõ ràng:WHERE (A OR B) AND C
Ví dụ phức hợp
SELECT * FROM NhanVien WHERE (PhongBan = 'IT' OR PhongBan = 'HR') AND Luong > 10000000 AND TrangThai = 'Active';