create table student(
sno char(10) primary key, --学号
sname nvarchar(20), --姓名
ssex bit, --性别
birthdate smalldatetime, --出生日期
sdept varchar(10) --所属院系
)
create table course
( cno char(6) primary key, --课程号
cname nvarchar(20), --课程名
ccredit int, --学分
pcno char(6) --先行课课程号
)
create table sc
(
sno char(10), --学号
cno char(6), --课程号
grade int, --课程成绩
primary key (sno,cno)
)
查询某位学生的某门课程成绩比该门课程的平均成绩高10分的该学生的学号、姓名、课程号及该课程的成绩么写么写?
sno char(10) primary key, --学号
sname nvarchar(20), --姓名
ssex bit, --性别
birthdate smalldatetime, --出生日期
sdept varchar(10) --所属院系
)
create table course
( cno char(6) primary key, --课程号
cname nvarchar(20), --课程名
ccredit int, --学分
pcno char(6) --先行课课程号
)
create table sc
(
sno char(10), --学号
cno char(6), --课程号
grade int, --课程成绩
primary key (sno,cno)
)
查询某位学生的某门课程成绩比该门课程的平均成绩高10分的该学生的学号、姓名、课程号及该课程的成绩么写么写?
where a.sno=b.sno and a.grade-10 = (select avg(grade) from sc a group by cno)本人所写,有问题,不知道么办?
select a.sno,s.sname,b.cno,b.grade
from student a
inner join sc b
inner join
(select cno,avg(grade) agrade
from sc
group by cno) c
on a.sno=b.sno and b.cno=c.cno
and b.grade>=c.agrade+10
select a.sno,s.sname,b.cno,b.grade
from student a
inner join sc b on
a.sno=b.sno
inner join
(select cno,avg(grade) agrade
from sc
group by cno) c
on b.cno=c.cno
where b.grade>=c.agrade+10