SQL LIKE 相似信息查找语句

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

LIKE 操作符是 SQL 中用于在 WHERE 子句中进行模糊查询的关键字(就是找跟输入信息相似的),它允许我们根据模式匹配(就是与这个数据相似的数据)来选择数据,通常与 %_ 通配符一起使用。

就是:

LIKE 就是"像什么"的意思------用来在数据库里"模糊查找"你想要的数据,不用知道完整内容也能找到!

SELECT column1, column2, ...

FROM table_name

WHERE column_name LIKE pattern;

参数说明:

  • column1, column2, ...:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
  • table_name:要查询的表名称。
  • column:要搜索的字段名称。
  • pattern:要搜索的相似的字段信息

使用 % 通配符找出所有以 "iPhone" 开头的产品:

SELECT ProductName, Category

FROM Products

WHERE ProductName LIKE 'iPhone%';

解释:名字开头是 iPhone,后面随便是什么都行。

✅ 匹配:

iPhone 15、iPhone SE、iPhone

❌ 不匹配:

My iPhone(因为不是开头)

使用 _ 通配符找出所有产品名称第二个字符为 "e" 的产品:

SELECT ProductName, Category

FROM Products

WHERE ProductName LIKE '_e%';

解释:第一个字符随便,第二个必须是 e,后面随便。

✅ 匹配:BeatsRedmiLePhone

❌ 不匹配:Apple(第二个是 p)、eBook(第一个就是 e)

结合 % 和 _ 通配符找出所有产品名称包含 "Zoom" 的产品:

SELECT ProductName, Category

FROM Products

WHERE ProductName LIKE '%Zoom%';

👉 解释:名字里只要有 Zoom 这几个字就行,不管前后是什么。

✅ 匹配:

Zoom Lens、SuperZoom Pro、MiniZoom

SQL LIKE 操作符实例

下面的 SQL 语句选取 name 以字母 "G" 开始的所有客户:

SELECT * FROM Websites

WHERE name LIKE 'G%';

提示:"%" 符号用于在模式的前后定义通配符(默认字母)。您将在下一章中学习更多有关通配符的知识。

下面的 SQL 语句选取 name 以字母 "k" 结尾的所有客户:

SELECT * FROM Websites

WHERE name LIKE '%k';

SQL 语句选取 name 包含模式 "oo" 的所有客户:

SELECT * FROM Websites

WHERE name LIKE '%oo%';

通过使用 NOT 关键字,您可以选取不匹配模式的记录。

下面的 SQL 语句选取 name 不包含模式 "oo" 的所有客户:

SELECT * FROM Websites

WHERE name NOT LIKE '%oo%';

👉 解释:只要名字里没有连续的 oo 就选出来。

✅ 匹配:Google ❌(有 oo,所以被排除)

✅ 匹配:BingYahoo(Yahoo 有 oo 吗?有!所以也被排除)

✅ 真正被选中的是:AppleTesla 这种不含 "oo" 的。

要注意的点:

• 大小写问题:有些数据库(如 MySQL)默认不区分大小写,LIKE '%GOOGLE%' 也能找到

google;但有些(如 PostgreSQL)会区分,需要写成 LOWER(name) LIKE '%google%' 更保险。

• 性能注意:如果写成 LIKE '%xxx'(开头是 %),数据库没法用索引,数据量大时会变慢。

• 转义特殊字符:如果你真要查名字里带 % 的(比如"折扣90%"),需要用转义:

相关推荐
故乡dee云1 小时前
AWS 产品太多不会选?按“网站、数据库、文件、日志”4 类需求快速匹配
数据库·云计算·aws
曹牧3 小时前
C#:问号
前端·数据库·c#
奇树谦3 小时前
《现代 Key-Value 数据库原理:从 B+Tree 到 LSM Tree》-第五篇:现代数据库横向对比
数据库·lsm-tree
李白客3 小时前
分布式集群与数据库产业:从单机到集群的架构跃迁与市场重构
数据库·分布式·架构
福大大架构师每日一题4 小时前
Redis 8.10.0 正式发布:紧凑哈希、批量导入、备份恢复、流与时序能力全面升级
数据库·redis·哈希算法
雨晨源码(同名B站)4 小时前
基于深度学习YoloV11农业病害虫害检测系统 智慧农业信息化综合管理平台 (附源码+lw文档+ppt)
数据库·人工智能·深度学习·yolo·信息可视化
盗理者5 小时前
AI Agent 技能分享|SQL 性能诊断与优化
java·sql·spring·skill
DBA小马哥5 小时前
向量数据库入门到进阶:Embedding、ANN算法与RAG落地的关键术语
数据库·算法·embedding
云和数据.ChenGuang5 小时前
fastapi项目拆分实战数据模型
java·服务器·数据库·人工智能·深度学习·fastapi·强化学习
祈禾5 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存