我们能否在单个 MySQL 查询中实现 'LIKE' 和‘IN’?
为了提高效率,对同一任务使用正则表达式。我们先创建一个表 -
mysql> create table DemoTable -> ( -> Name varchar(30) -> ); Query OK, 0 rows affected (0.62 sec)
使用 insert 命令向表中插入一些记录 -
mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('Chris'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('Robert'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('David'); Query OK, 1 row affected (0.17 sec)
使用 select 语句从表中显示所有记录 -
mysql> select *from DemoTable;
这会产生以下输出 -
+--------+ | Name | +--------+ | John | | Chris | | Robert | | David | +--------+ 4 rows in set (0.00 sec)
以下是实现 REGEXP 进行 LIKE 和 IN 替代的查询 -
mysql> select *from DemoTable where Name REGEXP 'John|Robert|David';
这会产生以下输出 -
+--------+ | Name | +--------+ | John | | Robert | | David | +--------+ 3 rows in set (0.11 sec)
广告