如何在 MySQL IN() 中實現 MySQL LIKE 查詢?


若要實現類似 MySQL IN() 的查詢,你需使用 COUNT()、IF() 以及 LIKE 運算子。我們首先建立一個表 -

mysql> create table DemoTable
   -> (
   -> Subject varchar(80)
   -> );
Query OK, 0 rows affected (0.58 sec)

使用 insert 命令在表中插入一些記錄 -

mysql> insert into DemoTable values('MySQLMongoDB');
Query OK, 1 row affected (0.86 sec)
mysql> insert into DemoTable values('MySQL');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('JavaMySQL');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('MongoDB');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('Java');
Query OK, 1 row affected (0.19 sec)

使用 select 語句在表中顯示所有記錄 -

mysql> select *from DemoTable;

這將產生以下輸出 -

+--------------+
| Subject      |
+--------------+
| MySQLMongoDB |
| MySQL        |
| JavaMySQL    |
| MongoDB      |
| Java         |
+--------------+
5 rows in set (0.00 sec)

以下是實現 LIKE as IN() 的查詢 -

mysql> select
   -> count(if(Subject like '%MySQL%',1,NULL)) as MySQLCount,
   -> count(if(Subject like '%Java%',1,NULL)) as JavaCount,
   -> count(if(Subject like '%MongoDB%',1,NULL)) as MongoDBCount
   -> from DemoTable;

這將產生以下輸出 -

+------------+-----------+--------------+
| MySQLCount | JavaCount | MongoDBCount |
+------------+-----------+--------------+
|          3 |         2 |            2 |
+------------+-----------+--------------+
1 row in set (0.00 sec)

更新於: 2019 年 12 月 17 日

125 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.