SQL语句 查询至少选修了与某个同学选修的课程相同的学生学号

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:59:40
学院(学院代码,学院名称)
学生(学号,姓名,性别,学院代码)
教师(教师号,教师姓名,学院代码)
课程(课程号,课程名,学时)
学习(学号,课程号,成绩)
开课(教师号,课程号)
最好在今晚之前做出来 非常急 万分感谢!
6个表 是多了点 所以麻烦大家了
关键是那个“至少”我不知道用什么语句实现

年纪大了,连题目都不能理解了!哎,都不知道到底是考阅读能力还是考编程

SELECT 学号
FROM 学习
WHERE 课程号 IN (SELECT t5.课程号
FROM 学院 t1, 学生 t2, 教师 t3, 课程 t4, 学习 t5, 开课 t6
WHERE t1.学院代码 = t2.学院代码
AND t2.学院代码 = t3.学院代码
AND t2.学号 = t5.学号
AND t3.教师号 = t6.教师号
AND t4.课程号 = t5.课程号
AND t4.课程号 = t6.课程号
GROUP BY t5.课程号
HAVING COUNT(T5.学号) >= 2)

还好不用用到case in了之后用count判断是不是完全相同的课程