急用啊!!SQL语句查询!!查询选课门数最多的详细信息,包括选选修门数!感谢给位了!!
还有两个问题是统计每个老师的开课门数!!和统计选修人数在60人以上的课程详细信息!!大家能回答多少是多少~~~谢谢谢谢谢谢了~~~~~有三张表!学生表:学号姓名所在院系课...
还有两个问题是
统计每个老师的开课门数!!
和 统计选修人数在60人以上的课程详细信息!!
大家能回答多少是多少~~~谢谢谢谢谢谢了~~~~~
有三张表!
学生表:学号 姓名 所在院系
课程表:课程编号 课程类别 课程名称
教师表:任课老师编号 任课老师所在院系 教授的课程编号
选课表:选修该课程的学生学号 选课的名称和选课的编号 该学生的成绩 展开
统计每个老师的开课门数!!
和 统计选修人数在60人以上的课程详细信息!!
大家能回答多少是多少~~~谢谢谢谢谢谢了~~~~~
有三张表!
学生表:学号 姓名 所在院系
课程表:课程编号 课程类别 课程名称
教师表:任课老师编号 任课老师所在院系 教授的课程编号
选课表:选修该课程的学生学号 选课的名称和选课的编号 该学生的成绩 展开
7个回答
展开全部
Try these,
1)查询选课门数最多的详细信息,包括选选修门数!
SELECT S.学号, S.姓名, S.所在院系, t.cnt
FROM 学生表 S,
(SELECT TOP 1 学号, count(编号) AS cnt
FROM 选课表 group by 学号 ORDER BY count(编号) DESC) t
WHERE S.学号 = t.学号
2)统计每个老师的开课门数!!
SELECT 任课老师编号, COUNT(课程编号)
FROM 课程表
GROUP BY 任课老师编号
3) 统计选修人数在60人以上的课程详细信息!!
SELECT *
FROM 课程表
WHERE 课程编号 IN (SELECT 编号 FROM 选课表 GROUP BY 编号 HAVING COUNT(学生学号) > 60)
1)查询选课门数最多的详细信息,包括选选修门数!
SELECT S.学号, S.姓名, S.所在院系, t.cnt
FROM 学生表 S,
(SELECT TOP 1 学号, count(编号) AS cnt
FROM 选课表 group by 学号 ORDER BY count(编号) DESC) t
WHERE S.学号 = t.学号
2)统计每个老师的开课门数!!
SELECT 任课老师编号, COUNT(课程编号)
FROM 课程表
GROUP BY 任课老师编号
3) 统计选修人数在60人以上的课程详细信息!!
SELECT *
FROM 课程表
WHERE 课程编号 IN (SELECT 编号 FROM 选课表 GROUP BY 编号 HAVING COUNT(学生学号) > 60)
展开全部
1.查询选课门数最多的详细信息,包括选选修门数
SELECTa1.学号,a1.姓名,a1.所在院系
FROM 学生表 a1,
(SELECT TOP 1 学号, count(编号) num
FROM 选课表 group by 学号 ORDER BY count(编号) DESC) a2
WHERE a1.学号 =a2.学号;
2.统计每个老师开课门数;
select a2.任课老师编号,count(a1.课程名称) from 课程表 a1,教师表 a2 group by a1.课程名称,a2.任课老师编号;
3.select a1.选课的名称和选课的编号,a2.学号,a2.姓名,a2.所在院系 from 学生表 a2,选课表 a1 group by count(a1.选课的名称和选课的编号) having count(a1.选课的名称和选课的编号)>60;
SELECTa1.学号,a1.姓名,a1.所在院系
FROM 学生表 a1,
(SELECT TOP 1 学号, count(编号) num
FROM 选课表 group by 学号 ORDER BY count(编号) DESC) a2
WHERE a1.学号 =a2.学号;
2.统计每个老师开课门数;
select a2.任课老师编号,count(a1.课程名称) from 课程表 a1,教师表 a2 group by a1.课程名称,a2.任课老师编号;
3.select a1.选课的名称和选课的编号,a2.学号,a2.姓名,a2.所在院系 from 学生表 a2,选课表 a1 group by count(a1.选课的名称和选课的编号) having count(a1.选课的名称和选课的编号)>60;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这里讲的选选修门数是不是指间接先修课(先修课的先修课),如果是的话你大可采用自连接的方式把对应先修课的先修课找出来。
最后那两题用分组的思想来做就可以了,就比如说统计每个老师的开课门数,你按老师特有的属性(如:职工号)来进行分组,然后用count函数进行统计,因为一行表示的就是一门课程。
最后那两题用分组的思想来做就可以了,就比如说统计每个老师的开课门数,你按老师特有的属性(如:职工号)来进行分组,然后用count函数进行统计,因为一行表示的就是一门课程。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Select 任课老师编号,count(1) from 课程表 group by 任课老师编号
select * from 课程表 a where exists (
Select 1 from 选课表 where 课程编号=a.课程编号 group by course having count(1)>=60)
select * from 课程表 a where exists (
Select 1 from 选课表 where 课程编号=a.课程编号 group by course having count(1)>=60)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询