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

Có thể dùng LIKE và OR cùng lúc trong MySQL không?

Có, có thể kết hợp LIKE với OR để tìm kiếm nhiều mẫu. Tương đương với IN cho các giá trị chính xác.

Trường hợp 1: LIKE với OR

SELECT * FROM ten_bang WHERE cot LIKE 'mau1' OR cot LIKE 'mau2' OR cot LIKE 'mau3' ...;

Trường hợp 2: IN (cho giá trị chính xác)

SELECT * FROM ten_bang WHERE cot IN ('gt1', 'gt2', 'gt3', ...);

Ví dụ: tạo bảng LikeDemo:

mysql> CREATE TABLE LikeDemo (Id VARCHAR(20));

Chèn dữ liệu:

mysql> INSERT INTO LikeDemo VALUES 
('John123'), ('Smith205'), ('Bob999'), ('Carol9091'), ('Johnson2222'), ('David2345');

Dữ liệu gốc:

mysql> SELECT * FROM LikeDemo;
+-------------+
| Id          |
+-------------+
| John123     |
| Smith205    |
| Bob999      |
| Carol9091   |
| Johnson2222 |
| David2345   |
+-------------+

Dùng LIKE + OR (hỗ trợ wildcard %):

mysql> SELECT * FROM LikeDemo WHERE Id LIKE 'John123%' OR Id LIKE 'Carol9091%' OR Id LIKE 'David2345%';
+-----------+
| Id        |
+-----------+
| John123   |
| Carol9091 |
| David2345 |
+-----------+

Dùng IN (chỉ khớp chính xác):

mysql> SELECT * FROM LikeDemo WHERE Id IN ('John123', 'Carol9091', 'David2345');

Kết quả giống nhau. Dùng LIKE ... OR ... khi cần so khớp mẫu (wildcard), dùng IN khi so khớp chính xác.