Loading... ## 前言 这篇文章主要是介绍数据库的基础查询相关操作,适合没有任何数据库操作基础的人员查阅。如果您有相关的数据库开发经验,那这篇文章将对您没有任何帮助。 ## 概念 模糊查询提取的数据不一定是确切的,查询者对查询条件也是模糊的、大概的、不特别明确的。 本篇文章会使用:`LIKE` 、`BETWEEN ... AND ...` 、`IN` 三种查询方式。 ## LIKE 英文直译:相似;类似;像…一样 案例分析: ```sql -- 查询出姓李且是名字是两个字的学员信息 SELECT * FROM Student WHERE Name LIKE '李_' /* 查询出来的数据有: * 李明、李阳、李芳、李伟、李霞、李婷、李峰、李梅、李雪、李霞等... */ -- 查询出姓李的学员信息(名字可以是多个字) SELECT * FROM Student WHERE Name LIKE '李%' /* 查询出来的数据有: * 李、李芳、李明霞、李春梅、李婷、李冬梅、李芳、李梅、李春霞等... */ -- 查询出名字中包含李的学员信息 SELECT * FROM Student WHERE Name LIKE '%李%' /* 查询出来的数据有: * 李、张李、李明霞、李春梅、王李婷、李冬梅、李芳、李梅、李春霞等... */ ``` `LIKE`在实际开发过程中使用频率极高,通常LIKE需要和统配符一同使用 该运算符只用于字符串,因此仅与字符数据类型(如 `char`或 `varchar`等)联合使用 | 通配符 | 解释 | 示例 | | -------- | ----------------------------------------- | ------------------------------------------------------------------------- | | _ | 一个任意字符 | `A LIKE 'V_'`,则符合条件的A如“VR”、“VC”等 | | % | 任意长度的字符串(可以是0个、1个或多个\) | `B LIKE 'SQL%'`,则符合条件的A如“SQL Server”、“SQL Server高级编程”等 | | [] | 括号中所指定范围内的一个字符 | `C LIKE '900[1-2]'`,则符合条件的C如“9001”或“9002” | | [^] | 不在括号中所指定范围内的任意一个字符 | `D LIKE '900[^1-2]'`,则符合条件的D如“9003”或“9007”等 | ## BETWEEN...AND... 英文直译:介于…之间;在…之间 案例分析: ```sql -- 查询出年龄在18岁到20岁之间的学员信息 SELECT * FROM Student WHERE Age BETWEEN 18 AND 20 -- 查询出年龄不在18岁到20岁之间的学员信息 SELECT * FROM Student WHERE Age NOT BETWEEN 18 AND 20 ``` <div class="tip inlineBlock warning simple small"> **⚠注意:** 该运算符用于查找介于两个已知值之间的一组未知值,可以是数字、文本或者日期 初值要小于等于终值,如果终值小于初值,语句执行无错误,但是不会返回查询结果 查找结果包含初值和终值 </div> ## IN 英文直译:在……里面, 在……之内 案例分析: ```sql -- 查询出地址在'长沙'、'衡阳'、'深圳'和'怀化'的学员信息 SELECT * FROM Student WHERE [Address] IN ('长沙','衡阳','深圳','怀化') -- 查询出地址不在'长沙'、'衡阳'、'深圳'和'怀化'的学员信息 SELECT * FROM Student WHERE [Address] NOT IN ('长沙','衡阳','深圳','怀化') ``` 最后修改:2023 年 10 月 08 日 © 允许规范转载 赞 都滑到这里了,不点赞再走!?