SQL LIKE 操作符详细讲解
LIKE
操作符在 SQL 中用于在 WHERE
子句中搜索列中的指定模式。它通常与通配符 %
(表示任意数量的字符)和 _
(表示单个字符)一起使用。
基本语法
SELECT column_name
FROM table_name
WHERE column_name LIKE 'pattern';
column_name
:要搜索的列名称。table_name
:要查询的表名称。pattern
:定义匹配模式的字符串,可以包含%
和_
通配符。
通配符说明
%
:表示任意数量的字符(包括零个字符)。_
:表示恰好一个字符。
代码示例
假设我们有一个名为 Customers
的表,包含了客户的信息:
+----+----------+------------------+-----------+
| id | name | email | country |
+----+----------+------------------+-----------+
| 1 | Alice | alice@example.com | USA |
| 2 | Bob | bob@example.com | USA |
| 3 | Charlie | charlie@example.com | UK |
| 4 | David | dave@example.com | Canada |
| 5 | Eve | eve@example.net | Germany |
+----+----------+------------------+-----------+
示例 1:使用 %
通配符
-- 选取以字母 'A' 开头的所有客户
SELECT * FROM Customers
WHERE name LIKE 'A%';
输出结果:
+----+------+-------------+---------+
| id | name | email | country |
+----+------+-------------+---------+
| 1 | Alice | alice@example.com | USA |
+----+------+-------------+---------+
示例 2:使用 _
通配符
-- 选取名字中恰好有 4 个字符的客户
SELECT * FROM Customers
WHERE name LIKE '____';
输出结果:
+----+------+-------------+---------+
| id | name | email | country |
+----+------+-------------+---------+
| 2 | Bob | bob@example.com | USA |
+----+------+-------------+---------+
示例 3:结合 %
和 _
使用
-- 选取邮箱中包含 'example' 并且以 'C' 开头的客户
SELECT * FROM Customers
WHERE email LIKE '%example%' AND name LIKE 'C%';
输出结果:
+----+----------+------------------+-----------+
| id | name | email | country |
+----+----------+------------------+-----------+
| 3 | Charlie | charlie@example.com | UK |
+----+----------+------------------+-----------+