一个表中字段有多个值,用逗号分隔,想要批量查询多条记录,同样用这个字段做条件输入多个值,可以查询出这条数据吗?

表 user
id age sex job
1 20 男 123,223,225
2 21 男 891
3 22 男 678
4 31 男 544,772
5 26 男 456

select * from user o where o.job in(123,891,544);
这样查询可以同时查询出 1,2,4 这三条记录;条件可以个值,只要输入逗号分隔的一个号就能查一条记录,此表数据量是百万级别,怎么能尽量不影响到性能查询

https://www.cnblogs.com/yanghjb/p/4307968.html

user表的job字段存储是以逗号间隔的字符串?
如果是这样,改用关系表,比如名称:userjob
列:
userid int
jobid int

查询语句:

select u.id,u.age,u.sex
from user u
join userjob uj on u.id=uj.userid
where uj.jobid in(123,891,544)