⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

FIND_IN_SET查找

在逗号分隔的字符串中检索特定值,处理简单列表查询。 · 难度:入门 · +15XP

SQL FIND_IN_SET —— 在逗号分隔列表中查找

FIND_IN_SET在逗号分隔的字符串中查找指定值,返回位置(从1开始),找不到返回0。常用于处理以逗号分隔的标签、分类等多值字段。

基本语法

-- FIND_IN_SET(要查找的值, 逗号分隔的字符串)
SELECT FIND_IN_SET('b', 'a,b,c,d'); -- 返回2
SELECT FIND_IN_SET('x', 'a,b,c,d'); -- 返回0(未找到)

实战:标签筛选

-- 文章表,tags字段存储逗号分隔的标签
SELECT * FROM articles
WHERE FIND_IN_SET('SQL', tags) > 0;
-- 找出所有标签包含SQL的文章

注意

FIND_IN_SET不使用索引,大数据量下性能差。更好的设计是用关联表存储多对多关系。

动手练习

  1. 基础练习:创建文章表(tags字段存逗号分隔标签),用FIND_IN_SET筛选。
  2. 进阶应用:用FIND_IN_SET配合ORDER BY实现按指定顺序排序。
  3. 项目实战:评估项目中使用FIND_IN_SET的地方,考虑是否需要重构为关联表。
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 146 篇
0 完成
🔥 0