那位侠可以帮忙求解SQL的问题,条件就是最经典的学生表,课程表,选课表。求选课数量大于两门的学生信息

2025-01-02 06:30:03
推荐回答(3个)
回答1:

select 学号,姓名,.年龄,院系,课号,成绩,课程名,任课老师
from (
select 学生表.学号,学生表.姓名,学生表.年龄,学生表.院系,选课表.课号,选课表.成绩,学成表.课程名,
学成表.任课老师,count(课号) 课数
from 学生表 join 选课表 on 选课表.学号=学生表.学号
join 学成表 on 学成表.课程号=选课表.课号
group by 学生表.学号,学生表.姓名,学生表.年龄,学生表.院系,选课表.课号,选课表.成绩,学成表.课程名,
学成表.任课老师) aa where aa.课数>2

回答2:

SELECT 学号,姓名,年龄,院系 FROM 学生表

WHERE 学号 in (SELECT 学号 FROM 选课表 WHERE COUNT(课号)>2 GROUP BY 学号)

回答3:

select a.学号, a.姓名,a.年龄, a.院系 from 学生表 a inner join 选课表 b on a.学号 = b.学号
group by a.学号, a.姓名,a.年龄, a.院系
having count(b.课号) >2
经过测试,简单并且绝对正确!