like语法sql

ads
你终于来了,戳蓝一键关注 测试开发成长录
不负时光,遇见每一次成长



在之前文章中,我们学习了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(50NOT NULL,  
    age INT,  
    seniority INT,  
    salary DECIMAL ( 102 ),
    create_time DATE   
);

-- 插入数据
INSERT INTO  tb_employees (idname, age, seniority, salary, create_time)  
VALUES   
(1'古晋'2655000.00'2023-01-01'),  
(2'阿音'10510000.00'2023-02-15'),  
(3'abc'2586000.00'2023-03-17'),  
(4'123'2668000.00'2023-04-24'),  
(5'小凤君'184NULL'2023-05-12'),
(6'鸿奕_'263NULL'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




END

你若喜欢,别忘了点个在看吧~

最后编辑于:2024/1/16 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com