1. select * from 学生 where 学号 in (select 学号 from 成绩 a where not exists(select 1 from 成绩 where 学号=a.学号 and 分数<75) ) and 性别='男'
2. select avg(age),avg(height),max(grade),count(distinct sno) from student;
不好意思,上面写错了。 是 2. select avg(age),avg(height),max(grade),count(distinct sno) from student,grade where student.sno=grade.sno
不知道是不是你第3题没说清楚 我是照我的理解来做的 我是试一下select c1.课程名 from ( select b.课程名 , Count(1) 平均分相同的系别数量 from ( select a1.课程名 , a1.系别 , avg(a2.分数) 平均分数 from 课程 a1 inner join 成绩 a2 on a1.课程号 = a2.课程号 group by a1.课程名 , a1.系别 ) b group by b.课程名 , b.平均分数 ) c1 inner join ( select b.课程名 , Count(1) 系别数量 from ( select a1.课程名 , a1.系别 from 课程 a1 group by a1.课程名 , a1.系别 ) b group by b.课程名 ) c2 on c1.课程名 = c2.课程名 and c1.平均分相同的系别数量 = c2.系别数量
select *
from 学生
where 学号 in (select 学号
from 成绩 a
where not exists(select 1 from 成绩 where 学号=a.学号 and 分数<75)
)
and 性别='男'
select avg(age),avg(height),max(grade),count(distinct sno)
from student;
是
2.
select avg(age),avg(height),max(grade),count(distinct sno)
from student,grade
where student.sno=grade.sno
我是照我的理解来做的 我是试一下select c1.课程名
from
(
select b.课程名 , Count(1) 平均分相同的系别数量
from (
select a1.课程名 , a1.系别 , avg(a2.分数) 平均分数
from 课程 a1 inner join 成绩 a2 on a1.课程号 = a2.课程号
group by a1.课程名 , a1.系别
) b
group by b.课程名 , b.平均分数
) c1 inner join
(
select b.课程名 , Count(1) 系别数量
from (
select a1.课程名 , a1.系别
from 课程 a1
group by a1.课程名 , a1.系别
) b
group by b.课程名
) c2 on c1.课程名 = c2.课程名 and c1.平均分相同的系别数量 = c2.系别数量