Computer >> Máy Tính >  >> Lập trình >> MySQL

Chúng ta có thể sử dụng LIKE và OR cùng nhau trong MySql không?


Bạn có thể sử dụng toán tử LIKE với OR hoạt động giống như toán tử IN.

Hãy để chúng tôi xem cú pháp cho cả hai trường hợp -

Trường hợp 1 - Sử dụng toán tử Like với OR.

select *from yourTableName where yourColumnName Like ‘Value1’
or yourColumnName Like ‘Value2’
or yourColumnName Like ‘Value3’
.
.
.
N

Trường hợp 2 - Sử dụng toán tử IN.

select *from yourTableName where IN(value1,value2,value3,.....N);

Để hiểu cả hai cú pháp, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

mysql> create table LikeDemo
−> (
−> Id varchar(20)
−> );
Query OK, 0 rows affected (0.58 sec)

Bây giờ bạn có thể chèn các bản ghi trong bảng với sự trợ giúp của câu lệnh insert. Truy vấn như sau -

mysql> insert into LikeDemo values('John123');
Query OK, 1 row affected (0.22 sec)

mysql> insert into LikeDemo values('Smith205');
Query OK, 1 row affected (0.18 sec)

mysql> insert into LikeDemo values('Bob999');
Query OK, 1 row affected (0.18 sec)

mysql> insert into LikeDemo values('Carol9091');
Query OK, 1 row affected (0.17 sec)

mysql> insert into LikeDemo values('Johnson2222');
Query OK, 1 row affected (0.15 sec)

mysql> insert into LikeDemo values('David2345');
Query OK, 1 row affected (0.21 sec)

Hiển thị tất cả các bản ghi từ bảng với sự trợ giúp của câu lệnh select. Truy vấn như sau -

mysql> select *from LikeDemo;

Sau đây là kết quả -

+-------------+
| Id          |
+-------------+
| John123     |
| Smith205    |
| Bob999      |
| Carol9091   |
| Johnson2222 |
| David2345   |
+-------------+
6 rows in set (0.00 sec)

Sau đây là truy vấn sử dụng toán tử Like với OR đơn lẻ -

Trường hợp 1 - Sử dụng toán tử Like với OR

mysql> select *from LikeDemo where Id Like 'John123%' or Id Like 'Carol9091%' or Id Like 'David2345%';

Sau đây là kết quả -

+-----------+
| Id        |
+-----------+
| John123   |
| Carol9091 |
| David2345 |
+-----------+
3 rows in set (0.00 sec)

Trường hợp 2 - Sử dụng toán tử IN

Truy vấn như sau -

mysql> select *from LikeDemo where Id in('John123','Carol9091', 'David2345');

Sau đây là kết quả -

+-----------+
| Id        |
+-----------+
| John123   |
| Carol9091 |
| David2345 |
+-----------+
3 rows in set (0.04 sec)