MySQL中可以同时使用LIKE和OR吗?
您可以使用带有OR运算符的LIKE,其与IN运算符的效果相同。
让我们看看两种情况的语法−
阅读更多:MySQL 教程
情况1−使用带OR运算符的Like。
select * from yourTableName where yourColumnName Like ‘Value1’
or yourColumnName Like ‘Value2’
or yourColumnName Like ‘Value3’
.
.
.
N
情况2−使用IN运算符。
select * from yourTableName where IN(value1,value2,value3,.....N);
为了理解两个语法,让我们创建一张表。创建表的查询如下−
mysql> create table LikeDemo
−> (
−> Id varchar(20)
−> );
Query OK, 0 rows affected (0.58 sec)
现在,您可以使用插入语句将记录插入表中。查询语句如下−
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)
使用select语句从表中显示所有记录。查询语句如下−
mysql> select * from LikeDemo;
以下是输出−
+-------------+
| Id |
+-------------+
| John123 |
| Smith205 |
| Bob999 |
| Carol9091 |
| Johnson2222 |
| David2345 |
+-------------+
6 rows in set (0.00 sec)
使用带OR运算符的单个Like的查询语句如下−
情况1−使用带OR运算符的Like。
mysql> select * from LikeDemo where Id Like 'John123%' or Id Like 'Carol9091%' or Id Like 'David2345%';
以下是输出−
+-----------+
| Id |
+-----------+
| John123 |
| Carol9091 |
| David2345 |
+-----------+
3 rows in set (0.00 sec)
情况2−使用IN运算符
查询语句如下−
mysql> select * from LikeDemo where Id in('John123','Carol9091', 'David2345');
以下是输出−
+-----------+
| Id |
+-----------+
| John123 |
| Carol9091 |
| David2345 |
+-----------+
3 rows in set (0.04 sec)
极客教程