请稍候,加载中....

SQL LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SQL LIKE 语法

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;

 


SQL LIKE 示例

演示数据库

在猿变手册教程中,我们将使用 yuanbian 样本数据库。

下面是选自 "articles" 表的数据:

+----+--------------+----------+--------+---------------------+
| id | title        | author   | a_type |      pub_date       |
+----+--------------+---------—+--------+---------------------+
| 1  | hadoop简介    |   大猿   |   311  | 2003-01-05 11:23:00 |
| 2  | python元类    |   小猿   |   163  | 2003-01-11 13:00:01 |
| 3  | HTML基础      |   猿大头  |  497  | 2004-03-09 12:00:00 |
| 4  | JavaScript   |    猿媛   |   20   | 2005-11-3 17:34:12 |
| 5  | ETL快速入门    |   猿媛   |    3   | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+

LIKE示例

下面的 SQL 语句选取 name 以字母 "G" 开始的所有客户:

SELECT * FROM articles
WHERE title LIKE 'hadoop%';

执行输出结果:

+----+--------------+----------+--------+---------------------+
| id | title        | author   | a_type |      pub_date       |
+----+--------------+---------—+--------+---------------------+
| 1  | hadoop简介    |   大猿   |   311  | 2003-01-05 11:23:00 |
+----+--------------+----------+--------+---------------------+

提示:"%" 符号用于在模式的前后定义通配符(默认字母)。您将在下一章中学习更多有关通配符的知识。

下面的 SQL 语句选取 name 以字母 "k" 结尾的所有客户:

 


LIKE 通配符示例

SELECT * FROM articles
WHERE title LIKE '%入门';

执行输出结果:

+----+--------------+----------+--------+---------------------+
| id | title        | author   | a_type |      pub_date       |
+----+--------------+---------—+--------+---------------------+
| 5  | ETL快速入门    |   猿媛   |    3   | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+

下面的 SQL 语句选取 author 包含 "猿" 的所有文章:

SELECT * FROM articles
WHERE author LIKE '%猿%';

执行输出结果:

+----+--------------+----------+--------+---------------------+
| id | title        | author   | a_type |      pub_date       |
+----+--------------+---------—+--------+---------------------+
| 1  | hadoop简介    |   大猿   |   311  | 2003-01-05 11:23:00 |
| 2  | python元类    |   小猿   |   163  | 2003-01-11 13:00:01 |
| 3  | HTML基础      |   猿大头  |  497  | 2004-03-09 12:00:00 |
| 4  | JavaScript   |    猿媛   |   20   | 2005-11-3 17:34:12 |
| 5  | ETL快速入门    |   猿媛   |    3   | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+

 


NOT LIKE 实例

通过使用 NOT 关键字,您可以选取不匹配模式的记录。

下面的 SQL 语句选取 author 不包含模式 "大" 的所有文章:

SELECT * FROM articles
WHERE author NOT LIKE '%大%';

执行输出结果:

+----+--------------+----------+--------+---------------------+
| id | title        | author   | a_type |      pub_date       |
+----+--------------+---------—+--------+---------------------+
| 2  | python元类    |   小猿   |   163  | 2003-01-11 13:00:01 |
| 4  | JavaScript   |    猿媛   |   20   | 2005-11-3 17:34:12 |
| 5  | ETL快速入门    |   猿媛   |    3   | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+

Python学习手册-