数据库数据增删改查练习题(1)——学⽣选课数据库数据库数据增删改查练习题(1)——学⽣选课数据库
基本数据表
S(SNO,SNAME,AGE,SEX)学⽣
C(CNO,CNAME,TEACHER)课程
SC(SNO,CNO,GRADE)选课
练习题
试⽤SQL表达式实现下列查询:
1)查询“程军”⽼师所授课程的课程号(CNO)和课程名(CNAME)。
2)查询年龄在23-25之间,王姓⼥学⽣的姓名(SNAME)及年龄(AGE)
3)查询“李强”同学选修的成绩在85分以上的课程号(CNO)及成绩(GRADE)。
4)查询选修课程号为’k1’的学⽣姓名(SNAME)及授课教师姓名(TEACHER)。
5)查询由全部学⽣选修的课程的课程名及授课教师。
6)统计每门课的选课⼈数,结果显⽰(课程名,⼈数)–注意汉字
7)查询平均成绩不及格的学⽣的学号、姓名,以及不及格的课程门数。
8)将学号为“s1”的学⽣,选修了“k3”号课程,成绩为80的信息增加到数据库;
9)删除数据库中“张三”⽼师所有的课程信息。
10)将选修了“数据库”课程的所有学⽣的成绩提⾼10分。
实现SQL语句
// 查询“程军”⽼师所授课程的课程号(CNO)和课程名(CNAME)。
基本的增删改查语句
(1)select CNO,CNAME from C where TEACHER='程军';
// 查询年龄在23-25之间,王姓⼥学⽣的姓名(SNAME)及年龄(AGE)
(2)select SNAME,AGE from S where AGE between 23 and 25 and SNAME like '王' and SEX='⼥';
/
/ 查询“李强”同学选修的成绩在85分以上的课程号(CNO)及成绩(GRADE)。
(3)select CNO,GRADE from SCwhere GRADE>85 and SNO in(select SNO from S where SNAME='李强');//⽅法⼀:嵌套查询
select CNO,GRADE from S,SC where S.SNO=SC.SNO and grade>85 and SNAME='李强';//⽅法⼆:连接查询
// 查询选修课程号为’k1’的学⽣姓名(SNAME)及授课教师姓名(TEACHER)。
(4)select SNAME,TEACHER from S,C,SC where S.SNO=SC.SNO and SC.CNO=C.CNO and C.CNO='k1' ;
// 查询由全部学⽣选修的课程的课程名及授课教师。
(5)select CNAME,TEACHER from C where not exists(select *from S where not exists(select *from SC where SNO=SC.SNO and CNO=C.CNO)); // 统计每门课的选课⼈数,结果显⽰(课程名,⼈数)--注意汉字
(6)select CNAME课程名,COUNT(SNO)⼈数 frmo SC,C where SC.CNO=C.CNO group by C.CNO;
// 查询平均成绩不及格的学⽣的学号、姓名,以及不及格的课程门数。
(7)select S.SNO,S.SNAME,COUNT(CNO)from S,SC where S.SNO=SC.SNO group by SC.SNO HAVING AVG(GRADE)<60;
//将学号为“s1”的学⽣,选修了“k3”号课程,成绩为80的信息增加到数据库;
(8)insert into SC values('s1','k3','80');
// 删除数据库中“张三”⽼师所有的课程信息。
(9)delete from C where TEACHER='张三';//删除课程表记录
delete from SC where CNO in(select CNO from C where TEACHER='张三');//删除选课表记录
// 将选修了“数据库”课程的所有学⽣的成绩提⾼10分。
(10)update SC set GRADE=GRADE+10 where CNO in(select CNO from C where CNAME='数据库');

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。