题目
设学生课程数据库中包含如下关系:()学生表:()S(Sno,()Sname,()Sex,()Sd,()Age)(),属性依次为学号、姓名、性别、系别和年龄;()课程表:()C(Cno,()Cname,()Term,()Credit(),()Teacher)(),属性依次为课程号、课程名、上课学期、学分和授课老师;()学生选课成绩表:()SC(Sno,()Cno,()Grade)(),属性依次为学号、课程号和成绩。()请用()SQL()查询如下问题:()1.查询选修课程名为“数学”的学生学号和姓名;()2.()查询选修了“操作系统”或“数据库”课程的学生学号和姓名;()3.()检索年龄大于()23()岁的男学生的学号和姓名;()4.()检索至少选修()LIU()老师所授课程中一门课的女学生姓名;()5.()查询不选修“()2()”号课程的学生姓名和所在的系。()6.()检索选修课程名为“数学”的学生姓名。()7.()检索成绩在90分以上的学生学号。()8.()统计“数据库原理”课程的最高分。()9.()检索选修了课程名为“面向对象程序设计[1]”的学生姓名及成绩。()10.()检索姓“李”的所有学生的姓名和出生日期。()11.()把低于所有课程总平均成绩的女同学成绩提高()5%()。()12.()创
设学生课程数据库中包含如下关系:()学生表:()S(Sno,()Sname,()Sex,()Sd,()Age)(),属性依次为学号、姓名、性别、系别和年龄;()课程表:()C(Cno,()Cname,()Term,()Credit(),()Teacher)(),属性依次为课程号、课程名、上课学期、学分和授课老师;()学生选课成绩表:()SC(Sno,()Cno,()Grade)(),属性依次为学号、课程号和成绩。()请用()SQL()查询如下问题:()1.查询选修课程名为“数学”的学生学号和姓名;()2.()查询选修了“操作系统”或“数据库”课程的学生学号和姓名;()3.()检索年龄大于()23()岁的男学生的学号和姓名;()4.()检索至少选修()LIU()老师所授课程中一门课的女学生姓名;()5.()查询不选修“()2()”号课程的学生姓名和所在的系。()6.()检索选修课程名为“数学”的学生姓名。()7.()检索成绩在90分以上的学生学号。()8.()统计“数据库原理”课程的最高分。()9.()检索选修了课程名为“面向对象程序设计[1]”的学生姓名及成绩。()10.()检索姓“李”的所有学生的姓名和出生日期。()11.()把低于所有课程总平均成绩的女同学成绩提高()5%()。()12.()创
题目解答
答案
查询选修课程名为“数学”的学生学号和姓名;()SELECT()S.SNO,SNAME()FROM()S,SC,C()WHERE()S.SNO=SC.SNO()AND()C.CNO=SC.CNO()AND()CNAME=’()数学()’;()∏()SNO,SNAME()(()σ()CNAME=’()数学()’()(()S()∞()SC()∞()C()))()2.查询选修了“操作系统”或“数据库”课程的学生学号和姓名;()SELECT()S.()SNO,SNAME()FROM()S,SC,C()WHERE()S.SNO=SC.SNO()AND()C.CNO=SC.CNO()AND()(CNAME=’()操作系统()’()OR()CNAME=()’()数据库’());()3.检索年龄大于()23()岁的男学生的学号和姓名;()SELECT()SNO,SNAME()FROM()S()WHERE()AGE>23()AND()SEX=’()男()’;()4.检索至少选修()LIU()老师所授课程中一门课的女学生姓名;()SELECT()SNAME()FROM()S()WHERE()SEX=’()女()’()AND()SNO()IN(()SELECT()SNO()FROM()SC,C()WHERE()SC.CNO=C.CNO()AND()TEACHER=’LIU’);()或()SELECT()SNAME()FROM()S,()SC,C()WHERE()SC.CNO=C.CNO()AND()S.SNO=SC.SNO()AND()TEACHER=’LIU’()AND()SEX=’()女()’;()5.()查询不选修“()2()”号课程的学生姓名和所在的系。()SELECT()SNAME,SD()FROM()S()WHERE()SNO()NOT()IN(SELECT()SNO()FROM()SC()WHERE()CNO=2);()6.检索选修课程名为“数学”的学生姓名。()SELECT()SNAME()FROM()S,C,SC()WHERE()S.SNO=SC.SNO()AND()C.CNO=SC.CNO()AND()CNAME=()’()数学()’;()7.检索成绩在90分以上的学生学号。()SELECT()DISTINCT()SNO()FROM()SC()WHERE()GRADE>=90;()8.统计“数据库原理”课程的最高分。()SELECT()CNAME(),MAX(GRADE)()FROM()C,SC()WHERE()C.CNO=SC.CNO()AND()CNAME=’()数据库原理’()GROUP()BY()CNAME;()9.检索选修了课程名为“面向对象程序设计”的学生姓名及成绩。()SELECT()SNAME,GRADE()FROM()S,C,SC()WHERE()S.SNO=SC.SNO()AND()C.CNO=SC.CNO()AND()CNAME=()’()面向对象程序设计’;()10().()检索姓“李”的所有学生的姓名和出生日期。()SELECT()SNAME,BIRTHDAY()FROM()S()WHERE()SNAME()LIKE()`()李%`;()11.()把低于所有课程总平均成绩的女同学成绩提高()5%()。()UPDATE()SC()SET()GRADE=()GRADE*1.05()WHERE()GRADE=90()ORDER()BY()AVG(GRADE)()DESC;()