--精确查询逗号分隔的字段
--列表数据(Jack,jaychou),条件(Jack)
select Manager,* from T_Project where  CHARINDEX('Jack',Manager) > 0

查询结果:

Manager

Jack
Jack
Jack,jaychou

感谢本文几种描述方法,让我解决了最近的一段时间的疑问,转载下来,以供后面查血使用。本文链接:https://blog.csdn.net/huanghanqian/article/details/52847835四种join的区别已老生常谈:INNER JOIN(也可简写为JOIN): 如果表中有至少一个匹配,则返回行LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行RIGHT JOIN... 的 字段 ,用 逗号 用户的兴趣爱好。在 MySQL 中,如果要 查询 某个 字段 逗号 的值,并且其中一个字符串与 查询 条件相等,可以使用。该函数用于在 逗号 的字符串中查找指定的值。执行上述 查询 后,将返回具有 "football" 兴趣爱好的用户记录。的值与您实际的数据库和表结构相匹配。 正确 查询 方式 select a.CityID,a.CityName from [Join].dbo.Table2as a where exists(select * from Table1 where Id=5717 and charindex(','+cast(a.CityID as varchar(max))+',',CityList)>0)... 一 说明如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统;二 准备前提需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略;建表语句:CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` v... select distinct b.rol_id,( select stuff( (select ','+a.ope_id from operator a where a.rol_id=b.rol_id FOR XML PATH('')) ,1,1,'') as ope_ids) as ope_ids from operator b 结果就出来了。 英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据数据处理函数又被称为单行处理函数单行处理函数的特点:一个输入对应一个输出多行处理函数的特点:多个输入,对应1个输出多行处理函数的特点:输入多行,最终输出一行注意:分组函数在使用的时候必须先 进行 分组,然后才能用。如果没有对数据 进行 分组,那么整张表默认为一组分组 查询 只要涉及到两个子句:group by 和 having。 博主遇到的业务场景为,前端下拉多选,传给后端的 查询 条件为字符串数组,如[篮球,足球,排球,乒乓球],而数据库存的是 逗号 的字符串,如:篮球,足球,排球,这个时候用模糊 查询 肯定是不行的,有经验的同学知道这时候可以用 FIND_IN_SET 去实现,但是怎么写呢?需要注意的是需要对集合的长度做判断,同时在对集合循环是要在外面加and(),使得find_in_set语句整体作为一个条件,拼接在我们正常条件语句后面。如果是mybatis 查询 的话,我们可以使用下面的方式。如果只是sql 查询 的话,我们可以这样写。 有时候有些数据保存时用 逗号 的数据,需要检索某个值所对应的数据的时候需要用到下面这种方式: select * from tablename where charindex(','+'3'+',',','+name+',')>0 还有一种,我没去试过: --先创建一个函数,用来拆分 字段 值 Create Function f_split1(@SourceSql Varchar(8000),@ ● 子 查询 ● 在SSMS的 查询 设计器中设计 查询 1、 连接 查询 (1) 使用无连接规则连接两表(不设置WHERE子句) 所谓无连接规则连接,就是指连接两表的SELECT语句中不设置任何连接条件,这样得到的连接结果是第一个表中的每一行都会和第二个表中的所有行 进行 连接,即得到一个笛卡尔积。