在之前文章中,我们学习了SQL中查询语句的使用技巧👉SQL基本语法|查询语句的使用方法和技巧,接下来,我们将重点学习SQL中LIKE匹配操作符。
在 SQL 中,LIKE是一个强大的匹配操作符,用于在WHERE子句中对列名进行模糊搜索,它通常与通配符一起使用,以提供更灵活的匹配条件。
通配符是一种特殊字符,用于在搜索或匹配字符串时表示一个或多个真正的字符。在SQL中,LIKE操作符经常与两个通配符(%和_)一起使用,以提供更灵活的匹配条件。
百分号(%)表示零个或任意个字符,可以匹配任意类型和长度的字符,包括中文等非ASCII字符。下划线(_)则表示任意单个字符,匹配单个任意字符,通常用来限制表达式的字符长度。
01.
LIKE的语法
在SQL查询语句中,LIKE的基本语法如下:
SELECT 列名1, 列名2, ...
FROM 表名
WHERE 列名1 LIKE '匹配模式';
其中:
SELECT 列名1, 列名2, ...:选择要检索的列。
FROM 表名:指定要从中检索数据的表。
WHERE 列名1 LIKE '匹配模式':使用WHERE子句指定匹配条件。LIKE操作符用于模糊匹配,结合通配符构建匹配模式。
02.
测试数据准备
首先,我们需要创建一个"员工"表。以下是创建表的SQL语句:
CREATE TABLE tb_employees (
id INT ,
name VARCHAR(50) NOT NULL,
age INT,
seniority INT,
salary DECIMAL ( 10, 2 ),
create_time DATE
);
-- 插入数据
INSERT INTO tb_employees (id, name, age, seniority, salary, create_time)
VALUES
(1, '古晋', 26, 5, 5000.00, '2023-01-01'),
(2, '阿音', 10, 5, 10000.00, '2023-02-15'),
(3, 'abc', 25, 8, 6000.00, '2023-03-17'),
(4, '123', 26, 6, 8000.00, '2023-04-24'),
(5, '小凤君', 18, 4, NULL, '2023-05-12'),
(6, '鸿奕_', 26, 3, NULL, '2023-05-12');
03.
LIKE的基本用法
在日常工作中,我们经常使用LIKE进行模糊搜索,以下是关于LIKE操作符的常见用法。
1. 使用%通配符用法:
1.1 搜索以特定字符或字符串开头的值
倘若,我们想要查询名字中以"古"字开头的员工,可以使用以下SQL语句:
SELECT * FROM tb_employees WHERE name LIKE '古%';
查询结果如下:
1.2 搜索以特定字符或字符串结尾的值
倘若,我们想要查询名字中以"音"字结尾的员工,可以使用以下SQL语句:
SELECT * FROM tb_employees WHERE name LIKE '%音';
查询结果如下:
1.3 搜索包含特定字符或字符串的值
倘若,我们想要查询名字中包含"凤"字,且年龄大于16的员工,可以使用以下SQL语句:
SELECT * FROM tb_employees WHERE name LIKE '%凤%' AND age > 16;
查询结果如下:
那如果想要查询名字中含有下划线的员工,可以使用以下SQL语句。
SELECT * FROM tb_employees WHERE name LIKE '%_%';
在SQL中,下划线_是一个通配符,表示任意单个字符,所以在这个语句中需要使用反斜杠进行转义,因此,%_%这个模式会匹配任何包含下划线的字符串。
2. 使用_通配符用法
倘若,我们想要查询名字长度为2个字符的员工,可以使用以下SQL语句:
SELECT * FROM tb_employees WHERE name LIKE '__';
查询结果如下:
3. 通配符组合用法
在SQL中,当我们需要执行更精细的模糊查询操作时,我们可以结合使用%和_通配符来构造更复杂的搜索模式。
倘若,我们想要查询名字以任意一个字符开始,且第2个字符是"凤"的所有员工。可以使用以下SQL语句。
SELECT * FROM tb_employees WHERE name LIKE '_凤%';
查询结果如下:
那如果我们想要查询名字以任意单个字符开始,然后是'b',最后以'c'结尾的所有员工。可以使用以下SQL语句。
SELECT * FROM tb_employees WHERE name LIKE '_b%c'
查询结果如下:
可以看到我们数据只有abc满足这个查询条件,则返回了abc员工。
在实际工作中,当遇到复杂的搜索需求时,我们可以借助正则表达式REGEXP来应对。至于它的具体应用,我们将在下一期详细介绍。
关于SQL 中的LIKE匹配操作符,本次分享就到这了。希望这个系列能帮助大家更深入地理解和运用数据库。如果您有任何疑问或建议,请随时告诉我。下期我们将继续学习SQL的更多用法,敬请期待!
🌟 更多干货:
☞SQL基本语法|查询语句的使用方法和技巧
☞6种SQL数据去重技巧大揭秘!
☞软件测试人必看,如何定位前后端Bug
发表评论