SQL LIKE 操作符详细讲解
LIKE
操作符在 SQL 中用于在 WHERE
子句中搜索列中的指定模式。它通常与通配符 %
(表示任意数量的字符)和 _
(表示单个字符)一起使用。
基本语法
SELECT column_name
FROM table_name
WHERE column_name LIKE 'pattern';
AI 代码解读
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 | +----+----------+------------------+-----------+
AI 代码解读
示例 1:使用 %
通配符
-- 选取以字母 'A' 开头的所有客户
SELECT * FROM Customers
WHERE name LIKE 'A%';
AI 代码解读
输出结果:
+----+------+-------------+---------+ | id | name | email | country | +----+------+-------------+---------+ | 1 | Alice | alice@example.com | USA | +----+------+-------------+---------+
AI 代码解读
示例 2:使用 _
通配符
-- 选取名字中恰好有 4 个字符的客户
SELECT * FROM Customers
WHERE name LIKE '____';
AI 代码解读
输出结果:
+----+------+-------------+---------+ | id | name | email | country | +----+------+-------------+---------+ | 2 | Bob | bob@example.com | USA | +----+------+-------------+---------+
AI 代码解读
示例 3:结合 %
和 _
使用
-- 选取邮箱中包含 'example' 并且以 'C' 开头的客户
SELECT * FROM Customers
WHERE email LIKE '%example%' AND name LIKE 'C%';
AI 代码解读
输出结果:
+----+----------+------------------+-----------+ | id | name | email | country | +----+----------+------------------+-----------+ | 3 | Charlie | charlie@example.com | UK | +----+----------+------------------+-----------+
AI 代码解读