use test
go
create table u(userid char(5),username char(10));
go
create table c(cid char(3),cname char(10));
go
create table uc(userid char(5),cid char(3),usergrade int);
go
insert u values('1','张三');
insert u values('2','李四');
insert u values('3','王五');
insert u values('4','赵一');
insert u values('5','周二');
insert c values('1','计算机');
insert c values('2','delphi');
insert c values('3','pacal');
insert c values('4','C');
insert c values('5','C++');
insert uc values('1','1',67);
insert uc values('1','2',57);
insert uc values('1','3',77);
insert uc values('1','4',67);
insert uc values('1','5',67);
insert uc values('2','1',67);
insert uc values('2','2',57);
insert uc values('2','3',47);
insert uc values('2','4',67);
insert uc values('3','5',67);
insert uc values('3','1',67);
insert uc values('4','2',57);
insert uc values('5','3',77);
insert uc values('5','4',67);
insert uc values('5','5',67);
查询选修课程2门以上不及格的学生姓名,平均成绩
elect u.username,avg(uc.usergrade)
from u,uc
where u.userid in(select userid from uc where usergrade < 60 group by userid having count(userid)>=2) and u.userid = uc.userid
group by u.username