资源描述:
《SQL-学生-课程-教师-成绩》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、S(Sno,Sname,Sage,Ssex)学生表C(Cno,Cname,Tno)课程表SC(Sno,Cno,score)成绩表Teacher(Tno,Tname)教师表问题:1、查询“C01”课程比“C02”课程成绩高的所有学生的学号;selecta.SnofromSCasa,SCasbwherea.Sno=b.Snoanda.Cno='C01'andb.Cno='C02'anda.score>b.score2、查询平均成绩大于60分的同学的学号和平均成绩;selectmin(Sno),avg(score)fromSCgroupbySnohavin
2、gavg(score)>603、查询所有同学的学号、姓名、选课数、总成绩;selectS.Sno,max(S.Sname),count(Cno),sum(score)fromS,SCwhereS.Sno=SC.SnogroupbyS.Sno4、查询姓“李”的老师的个数;selectcount(Tname)fromTeacherwhereTnamelike'刘%'5、查询没学过“刘金泉“老师课的同学的学号、姓名;selectSno,SnamefromSwhereSnonotin(selectSnofromSCasa,Teacherasb,Cascwhe
3、rea.Cno=c.Cnoandc.Tno=b.Tnoandb.Tname='刘金泉')6、查询学过“C01”并且也学过编号“C02”课程的同学的学号、姓名;selectSno,SnamefromSwhereSnoin(selecta.SnofromSCasa,SCasbwherea.Sno=b.Snoanda.Cno='C01'andb.Cno='C02')7、查询学过“刘金泉”老师所教的所有课的同学的学号、姓名;selectSno,SnamefromSwhereSnoin(selectSnofromSCasa,Teacherasb,Cascwhe
4、rea.Cno=c.Cnoandc.Tno=b.Tnoandb.Tname='刘金泉'groupbya.Snohavingcount(a.Cno)=(selectcount(C.Tno)fromTeacher,CwhereTeacher.Tno=C.TnoandTeacher.Tname='刘金泉'))8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;selectSno,SnamefromSwhereSnoin(selecta.SnofromSCasa,SCasbwherea.Sno=b.Snoanda.Cno='C0
5、1'andb.Cno='C02'anda.score>b.score)9、查询所有课程成绩小于60分的同学的学号、姓名;selectSno,SnamefromSwhereSnoin(selectS.SnofromS,SCwhereS.Sno=SC.Snoandscore<60);10、查询没有学全所有课的同学的学号、姓名;selectS.Sno,S.SnamefromS,SCwhereS.Sno=SC.SnogroupbyS.Sno,S.Snamehavingcount(Cno)<(selectcount(Cno)fromC);11、查询至少有一门课
6、与学号为“S01”的同学所学相同的同学的学号和姓名;selectS.Sno,SnamefromS,SCwhereS.Sno=SC.SnoandCnoin(selectCnofromSCwhereSno='S01')12、查询至少学过学号为“S01”同学所有一门课的其他同学学号和姓名;selectdistinctSC.Sno,SnamefromS,SCwhereS.Sno=SC.SnoandCnoin(selectCnofromSCwhereSno='S01');13、把“SC”表中“刘金泉”老师教的课的成绩都更改为此课程的平均成绩;updateSCs
7、etscore=(selectavg(SC.score)fromSC,C,TeacherasawhereSC.Cno=C.CnoandC.Tno=a.Tnoanda.Tname='刘金泉')fromSC,C,TeacherasawhereSC.Cno=C.CnoandC.Tno=a.Tnoanda.Tname='刘金泉';14、查询和“S02”号的同学学习的课程完全相同的其他同学学号和姓名;selectSC.SnofromSCwhereCnoin(selectCnofromSCwhereSC.Sno='S02')andSno<>'S02'groupb
8、ySnohavingcount(Cno)=(selectcount(Cno)fromSCwhereSno='