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

MySQL truy vấn chọn lọc kết hợp AND và OR

Ví dụ logic

Lấy các bản ghi thỏa mãn: (StudentName = 'David' AND StudentSubject = 'MySQL') OR StudentId = 11.

1. Tạo bảng

mysql> create table DemoTable (
    StudentId int,
    StudentName varchar(20),
    StudentSubject varchar(20)
);
Query OK, 0 rows affected (0.62 sec)

2. Chèn dữ liệu

mysql> insert into DemoTable values(10,'Chris','MongoDB');
mysql> insert into DemoTable values(11,'David','MySQL');
mysql> insert into DemoTable values(12,'Bob','Java');
mysql> insert into DemoTable values(10,'Carol','MySQL');
mysql> insert into DemoTable values(10,'Chris','MongoDB');
mysql> insert into DemoTable values(14,'David','MySQL');

3. Xem dữ liệu

mysql> select * from DemoTable;
+-----------+-------------+----------------+
| StudentId | StudentName | StudentSubject |
+-----------+-------------+----------------+
| 10        | Chris       | MongoDB        |
| 11        | David       | MySQL          |
| 12        | Bob         | Java           |
| 10        | Carol       | MySQL          |
| 10        | Chris       | MongoDB        |
| 14        | David       | MySQL          |
+-----------+-------------+----------------+
6 rows in set (0.00 sec)

4. Truy vấn AND OR

mysql> select * from DemoTable
    where StudentName = 'David' and StudentSubject = 'MySQL' OR StudentId = 11;

Kết quả:

+-----------+-------------+----------------+
| StudentId | StudentName | StudentSubject |
+-----------+-------------+----------------+
| 11        | David       | MySQL          |
| 14        | David       | MySQL          |
+-----------+-------------+----------------+
2 rows in set (0.00 sec)

Lưu ý: Toán tử AND có độ ưu tiên cao hơn OR. Dùng ngoặc đơn để rõ ràng: WHERE (A AND B) OR C.