1)
SELECT 课程号, 课程名, 课程学分
FROM 课程 WHERE 课程号 IN(SELECT 课程号
FROM 选课
GROUP BY 课程号
HAVING COUNT(学生号) BETWEEN 2 AND 4 )
2) SELECT MAX(成绩) - MIN(成绩) AS 分数之差
FROM 选课
倘若要每门课程相差
SELECT 课程, MAX(成绩) - MIN(成绩) AS 分数之差
FROM 选课
GROUP BY 课程
我的学生数据库跟你的差不多,我就用我的这些表给你做了个
select cCno,sSname,sSno,选课人数 from Course c
left join SC on ccno=sccno
left join student s on sSno=SCSno
left join (select ccno, COUNT(sSno) 选课人数 from
Course c left join SC on ccno=sccno
left join student s on sSno=SCSno
group by cCno) as T ON TCno=cCno
select
sno
as
学生号,
count()
as
选修课大于1的人数
from
sg
group
by
sno
//按照学生的学号分组
(如果不分组会提示错误
)
//
如果包括一门就把having
count()>1去掉
但是一门以上的意思就是不包括一门
所以不用加
二楼回答的很好,记得给他好评啊,我也是挺辛苦的
update 成绩表 set 课时 = 课时 +10 where 课程编号 in(
select 课程编号 from 成绩表 where 课程名 like '%数据库%'
)
① create table Student( Sno int not null PRIMARY KEY ,Sname string Unique, Ssex string ,Sage integer, Sdept string )
② SELECT SGSno, SGGrade FROM SG WHERE (((SGCno)=2))
③ INSERT INTO sg(Sno,Cno,Cname,Grade)valves(“2012314”,”2”, “数据库管理”,90)
④ UPDATE SG SET SGGrade = 95 WHERE (((SGSno)=2012314))
⑤ DELETE SGSno FROM SG WHERE (((SGSno)=2012314))
⑥CREATE VIEW VSG AS select from SG
以上就是关于在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义是什么全部的内容,包括:在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义是什么、SQL:查询每门课程的课程名、选课学生姓名及其学号,选课人数、用数据库SQL语句:查询只被一名学生选修的课程的课程号、课程名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)