SQL經典練習題48道之二(11-19)

feri發表於2018-06-05

接上篇SQL經典練習題48道之一
11、查詢“95031”班的學生人數。
答:
select COUNT(sno) from student where classnum=’95031’;
12、查詢Score表中的最高分的學生學號和課程號。
答:
select sno,cno from score where degree =(select max(degree) from score);
13、查詢‘3-105’號課程的平均分。
答:
select avg(degree) from score where cno=’3-105’;
14、查詢Score表中至少有5名學生選修的並以3開頭的課程的平均分數。
答:
select cno,avg(degree) from score where cno in(select cno from score where cno like ‘3%’ group by cno having count(*)>4);
15、查詢最低分大於70,最高分小於90的Sno列。
答:
select sno,max(degree),min(degree) from score group by sno having min(degree)>70 and max(degree)<90;
16、查詢所有學生的Sname、Cno和Degree列。
答:
select sname,cno,degree from score s left join student st on s.sno=st.sno;
17、查詢所有學生的Sno、Cname和Degree列。
答:
select sno,cname,degree from score s left join course c on s.cno=c.cno;
18、查詢所有學生的Sname、Cname和Degree列。
答:
select sname,cname,degree from score s left join student st on s.sno=st.sno left join course c on s.cno=c.cno;
19、查詢“95033”班所選課程的平均分。
答:
select avg(degree) from score where sno in(select sno from student where classnum=’95033’);

相關文章