MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySqlでLIKEとORを一緒に使用できますか?


IN演算子と同じように機能するOR演算子でLIKEを使用できます。

両方の場合の構文を見てみましょう-

ケース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)

これで、insertステートメントを使用してテーブルにレコードを挿入できます。クエリは次のとおりです-

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)

  1. LIKE%を使用して、単一のMySQLクエリで複数の値をフェッチします

    LIKEを使用して複数の値をフェッチするには、OR演算子とともにLIKE演算子を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1027 (    Id int,    Name varchar(100) ); Query OK, 0 rows affected (1.64 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1027 values(100,'John'); Query OK

  2. MySQLクエリで「LIKEconcat()」を使用できますか?

    はい、できます。まずテーブルを作成しましょう- mysql> create table DemoTable (    Name varchar(50) ); Query OK, 0 rows affected (0.63 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('