很抱歉这个简单的问题,但是我不知道正确的措词方式来获得有用的结果。我想知道MySQL中是否有支持“全部”关系的函数。我 认为 我所指的术语是集合除法(当我在手册页中查找除法时,我只在MySQL中看到精确的数学除法)。因此,例如,如果我与学生和课程有联系,我可能想检索所有学生都参加的课程列表(也许,课程ID号出现在每个学生的下方,或类似名称)。我的问题有意义吗?我可以提出一个不同的查询来完成工作,但是如果我可以使用一个简单的内置函数来简化所有工作,那将是非常好的。
不,没有。有关方法的详细介绍,请参见“我们的立场分开:关系部门的SQL”。本文是以SQL Server为中心的,但仍然可以使用相同的2倍GROUP BY ... HAVING COUNT或两倍的方法NOT EXISTS。
GROUP BY ... HAVING COUNT
NOT EXISTS
对于精确的关系划分(没有余数)GROUP_CONCAT可以派上用场。
GROUP_CONCAT