sql多对多查询问题

已知有学生表、选课表。现在需要查询出以下列表:

学生姓名选课次数学生姓名选课次数选课重合率

选课重合率:两个选的课程相同的个数除以选课次数。

不知道有没有人给我提供一个思路,我在网上查了半天都查不到类似的。

如果这个表是页面上展示的结果,我觉得可以用两条语句来实现可以降低难度,查询学生选课次数,以及选课重合率

选课表中字段包含有学生姓名,查单表就行