mysql find_in_set 多个值

在MySQL中,FIND_IN_SET()函数可以用来查找一个字段中是否包含指定的值。但有时候我们需要查找字段中是否包含多个值,本篇文章将详细介绍如何使用FIND_IN_SET()函数来查询多个值。
语法
FIND_IN_SET(string, string_list)
string:要查找的字符串。string_list:包含多个值的逗号分隔的字符串。
示例
假设我们有一个表students,包含如下数据:
| id | name | subjects |
|---|---|---|
| 1 | Alice | Maths,Physics |
| 2 | Bob | English,Chemistry |
| 3 | Charlie | Maths,Chemistry |
| 4 | David | Biology,Physics |
| 5 | Eve | Chemistry,Art |
现在我们想要查找既修习Maths又修习Physics的学生,可以使用以下SQL语句:
SELECT * FROM students WHERE FIND_IN_SET('Maths', subjects) AND FIND_IN_SET('Physics', subjects);
运行以上SQL语句后,将会返回如下结果:
| id | name | subjects |
|---|---|---|
| 1 | Alice | Maths,Physics |
结论
通过使用FIND_IN_SET()函数,我们可以方便地查询字段中是否包含多个值。
极客教程