对于教学数据库三个基本表: 10
学生S(S#,SNAME,AGE,SEX)学习SC(S#,C#,GRADE)课程C(C#,CNAME,TEACHER)请用SQL语句表达下列查询:(1)查询全部学生都选修...
学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
请用SQL语句表达下列查询:
(1)查询全部学生都选修了的课程编号和课程名称。
(2)把低于总平均成绩的女同学的成绩提高5%。
(3)查询至少选修3门课程的学生的学号和姓名。
(4)把“高等数学”课的所有不及格成绩改为60。
(5)查询“张小飞”没有选修的课程号和课程名。 展开
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
请用SQL语句表达下列查询:
(1)查询全部学生都选修了的课程编号和课程名称。
(2)把低于总平均成绩的女同学的成绩提高5%。
(3)查询至少选修3门课程的学生的学号和姓名。
(4)把“高等数学”课的所有不及格成绩改为60。
(5)查询“张小飞”没有选修的课程号和课程名。 展开
2个回答
展开全部
--1
SELECT C#,CNAME FROM C WHERE C# IN(
SELECT C# FROM SC GROUP BY C# HAVING COUNT(S#)=(SELECT MAX(S#) FROM S)
)
--2
update SC set SC.GRADE=SC.GRADE*1.05 from S where SC.GRADE<(select avg(SC.GRADE) from SC) and S.SEX='0'
--3
SELECT S#,SNAME FROM S WHERE S# IN(
select S# from SC group by S# having count(C#)>=3
)
--4
update SC set SC.GRADE=60 from C where C.CNAME='数学' and C.C#=SC.C#
--5
select C#,CNAME FROM C WHERE C# not IN(
select SC.C# from SC left join S on S.S#=SC.S# where S.SNAME='张三'
)
SELECT C#,CNAME FROM C WHERE C# IN(
SELECT C# FROM SC GROUP BY C# HAVING COUNT(S#)=(SELECT MAX(S#) FROM S)
)
--2
update SC set SC.GRADE=SC.GRADE*1.05 from S where SC.GRADE<(select avg(SC.GRADE) from SC) and S.SEX='0'
--3
SELECT S#,SNAME FROM S WHERE S# IN(
select S# from SC group by S# having count(C#)>=3
)
--4
update SC set SC.GRADE=60 from C where C.CNAME='数学' and C.C#=SC.C#
--5
select C#,CNAME FROM C WHERE C# not IN(
select SC.C# from SC left join S on S.S#=SC.S# where S.SNAME='张三'
)
展开全部
SELECT dbo.s.s, dbo.s.sname, dbo.s.age, dbo.s.sex, dbo.sc.c, dbo.sc.grade, dbo.c.cname,
dbo.c.teacher
FROM dbo.s LEFT OUTER JOIN
dbo.sc ON dbo.s.s = dbo.sc.s LEFT OUTER JOIN
dbo.c ON dbo.sc.c = dbo.c.c
有了这个数据,就好写了
UPDATE sc
SET grade = grade + 5
WHERE (grade <
(SELECT AVG(grade)
FROM sc)) AND (s IN
(SELECT s
FROM s
WHERE (sex = '女')))
dbo.c.teacher
FROM dbo.s LEFT OUTER JOIN
dbo.sc ON dbo.s.s = dbo.sc.s LEFT OUTER JOIN
dbo.c ON dbo.sc.c = dbo.c.c
有了这个数据,就好写了
UPDATE sc
SET grade = grade + 5
WHERE (grade <
(SELECT AVG(grade)
FROM sc)) AND (s IN
(SELECT s
FROM s
WHERE (sex = '女')))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |