1、select distinct s.学号,姓名 from s,c,sc where s.学号=sc.学号 and c.课程号=sc.课程号 and 成绩>=85
2、select s.学号,姓名,平均成绩=avg(成绩) from s,sc where s.学号 in (select 学号 from sc group by 学号 having count(学号)>5
3、select 书名 from 图书 where 出版单位='清华大学出版社' or '电子工业出版社' and 单价>20
4、select 出版单位,最高单价=max(单价),平均价=avg(单价),册数=count(出版单位) from t where 出版单位 in (select 出版单位 from t group by 出版单位) group by 出版单位
5、select 借出数量=count(*) from 借阅
6、select 班级,总人数=count(*) from 学生表 group by 班级
兄弟,我终于给你写完了!你是不是要加点分我!这么冷的天,我手冻冻红了!
至于是不是有错误,你试一试哈!
错误是有的,有时间我给你改改哈!第二个有问题
1.1 select * from S inner join SC on S.学号=SC.学号 where SC.成绩>=85
1.2 这个稍微复杂了点 想想再说
2 这个和上面的类似 改一改就可以了
3 select count(*) from 学生表 where 班级='班级名'
题目看似简单,其实蛮难的,楼上两位的回答完全就是误人子弟。简单的拿1.1来讲如 小王 英语90,数学86,语文70,小李三门分别为99,98,97但用最上面的方法是两个都能查出来,与题意不符。
我想是否可以借助一张临时表先
insert into temp select SC.学号,min(成绩)as xiao FROM SC group by 学号
先把每位学生的最小成绩放入张临时表,
select S.学号,S.姓名 from temp inner join S on S.学号=temp.学号 Where temp.xiao>=85
这样就能取出了,方法过于复杂,期待更好的办法