数据库技术及应用(SQL server 2008)陈立潮 课后习题 第五章
假设学生-课程数据库关系模式如下:student(sno,sname,sage,ssex)course(cno,cname,teacher)sc(sno,cno,grad...
假设学生-课程数据库关系模式如下:
student(sno,sname,sage,ssex)
course(cno,cname,teacher)
sc(sno,cno,grade)
用transact-SQL语句实现下列功能:
求张老师讲的每门课的学生平均成绩。
统计选修各门课的学生人数。输出课程号和人数。查询结果按人数降序排列,若人数相同,则按课程号升序排列。
输出和“张三”选修了相同课程的学生姓名、学号。
给女学生的”计算机基础“课程的成绩都加5分。
在SC表中,删除”王五“所有选修课程的信息。
输出”张三“与”李四“共同选修的课程名称。
输出未选修任何课程的学生姓名。
请大神们帮忙,急!!!!! 展开
student(sno,sname,sage,ssex)
course(cno,cname,teacher)
sc(sno,cno,grade)
用transact-SQL语句实现下列功能:
求张老师讲的每门课的学生平均成绩。
统计选修各门课的学生人数。输出课程号和人数。查询结果按人数降序排列,若人数相同,则按课程号升序排列。
输出和“张三”选修了相同课程的学生姓名、学号。
给女学生的”计算机基础“课程的成绩都加5分。
在SC表中,删除”王五“所有选修课程的信息。
输出”张三“与”李四“共同选修的课程名称。
输出未选修任何课程的学生姓名。
请大神们帮忙,急!!!!! 展开
1个回答
展开全部
1.
SELECT cname,avg(grade) 平均成绩
FROM Course join sc on course.cno=sc.cno
where teacher like '张%'
2.
SELECT CNO,COUNT(*) 人数
FROM SC
GROUP BY CNO
ORDER BY 2 DESC,1
3
SELECT sname,sno
FROM student
where sno in(select sno
from sc
where cno in(select cno
from student join sc on student.sno=sc.sno
where sname='张三'))
and sname<>‘张三’
4.
UPDATE SC SET GRADE=GRADE+5
FROM SC JOIN student on sc.sno=student.sno
join course on course.cno=sc.cno
where ssex='女' and cname='计算机基础'
5.
DELETE SC
FROM SC JOIN student on sc.sno=student.sno
where sname='王五'
6.
select cname
from student join sc on student.sno=sc.sno
join course on course.cno=sc.cno
where sname in('张三','李四')
group by cname
having count(*)=2
7.
select sname
from student
where sno not in(select sno from sc)
SELECT cname,avg(grade) 平均成绩
FROM Course join sc on course.cno=sc.cno
where teacher like '张%'
2.
SELECT CNO,COUNT(*) 人数
FROM SC
GROUP BY CNO
ORDER BY 2 DESC,1
3
SELECT sname,sno
FROM student
where sno in(select sno
from sc
where cno in(select cno
from student join sc on student.sno=sc.sno
where sname='张三'))
and sname<>‘张三’
4.
UPDATE SC SET GRADE=GRADE+5
FROM SC JOIN student on sc.sno=student.sno
join course on course.cno=sc.cno
where ssex='女' and cname='计算机基础'
5.
DELETE SC
FROM SC JOIN student on sc.sno=student.sno
where sname='王五'
6.
select cname
from student join sc on student.sno=sc.sno
join course on course.cno=sc.cno
where sname in('张三','李四')
group by cname
having count(*)=2
7.
select sname
from student
where sno not in(select sno from sc)
追问
您好。非常感谢您的帮助,第四题和第五题可不可以让他输出来在查询窗口下面显示
追答
不可能的,一个属于数据修改,一个属于数据删除,都不属于数据查询
万山数据
2024-11-14 广告
2024-11-14 广告
作为北京万山数据科技有限公司的工作人员,对于数据反向治理有一定的了解。数据反向治理可以理解为对数据治理流程的逆向操作,旨在确保数据的准确性、一致性和安全性。在数据治理过程中,如果发现数据问题或异常,可以通过反向治理进行追溯和修正。我们公司拥...
点击进入详情页
本回答由万山数据提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询