反向操作可以使用 MySQL 中的 FIND_IN_SET() 函数。
假设我们有一个表 students,包含以下数据:
id name courses
1 Jack Math,Science
2 Jane Science,History
3 Tom Math,History,English
现在,如果要查找选修了科目 “Math” 的学生,可以使用以下查询:
SELECT *
FROM students
WHERE FIND_IN_SET('Math', courses) > 0;
结果将返回 id 为 1 和 3 的学生,因为他们都选修了 “Math” 这门课程。
FIND_IN_SET() 函数将在 courses 列中查找具有指定值(在这种情况下是 “Math”)的元素。如果找到,则返回该元素在字符串列表中的索引位置。如果未找到,则返回 0。因此,我们可以将 FIND_IN_SET() 函数与 > 运算符一起使用来过滤出选修了 “Math” 的学生。




