Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Sử dụng nhiều điều kiện WHERE (AND/OR) trong MySQL

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

  • AND có độ ưu tiên cao hơn OR
  • 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';