您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 第5章-sql综合练习
今天是你上班的第一天,职务是系部的教学秘书,职责之一是回答领导、老师、家长们的各种询问......你的前任已经把数据库建好,数据库表也已输入过数据,你所知的情况如下:在“学生”数据库中有三张表文件,表名以及主要字段名如下:学生(学号、姓名、性别、年龄)年龄是数值型,其余为字符型成绩(学号、课程号、成绩)成绩是数值型,其余为字符型课程(课程号、课程名)均为字符型现在请你利用在学校学过的知识,用SQL命令快速解决以下问题:首先设置默认目录至“上机文件夹”1、系里决定给年龄较小的同学开一个座谈会,请你查询所有年龄在19岁以下的学生姓名及年龄(提示:用“学生”表)命令:2、辅导员要找考试不及格的同学谈话,请你查询考试成绩不及格的学生的学号和课程名(成绩,课程)命令:3、李华的父母来电询问李华的学习情况,请你查询李华所选修课程的课程号和成绩(学生,成绩)命令:4、有学生捡到一本书,上面只写了一个字“张”,请你查询所有姓张的学生信息命令:5、带003号课程的教师想要课程考试情况清单,请你查询选修了003号课程的学生的学号及成绩,结果按成绩的降序排列(成绩排序)命令:6、系里要开会总结学生选课率,请你查询选修了课程的学生人数(成绩计数)命令:7、001号课程是学校的精品课程,学校想知道这次考试中最高分是多少,请你查询选修001号课程的学生最高分数(成绩求最大值)命令:8、选修2门以上课程的同学可以申请不参加某些集体活动,请你查询选修了2门以上课程的学生学号(分组having计数)命令:9、辅导员想知道有哪些学生选了002号课程,请你查询所有选修了002号课程的学生姓名。(in)命令:10、辅导员想知道有哪些学生没有选002号课程,查询没有选修002号课程的学生姓名.(notin)命令:11、有学生转学过来,请你向学生表中插入一条记录(48,刘佩佩,19,女)命令:12、学号为48的学生还未报到,暂时将她的信息从学生表中删除命令:13、学号“12”的学生受到处分,所以将成绩表中学号为“12”的成绩减去10命令:在“学生管理”数据库中有三张表文件,表名以及主要字段如下:学生(学号、姓名、性别、年龄)年龄是数值型,其余为字符型成绩(学号、课程号、成绩)成绩是数值型,其余为字符型课程(课程号、课程名)均为字符型注意在使用SQL命令前无需使用use命令打开表.1、查询所有年龄在19岁以下的学生姓名及年龄命令:select姓名,年龄from学生where年龄192、查询考试成绩不及格的学生的学号和课程名命令:select学号,课程名from课程,成绩;where成绩60.and.课程.课程号=成绩.课程号3、查询李华所选修课程的课程号和成绩命令:Select课程号,成绩from成绩where学号in;(select学号from学生where姓名=李华)或:Select课程号,成绩from学生,成绩;Where姓名=李华and学生.学号=成绩.学号4、查询所有姓张的学生信息命令:select*from学生where姓名like“张%”或:select*from学生where姓名=“张”5、查询选修了003号课程的学生的学号及成绩,结果按成绩的降序排列命令:select学号,成绩from成绩where课程号=”003”orderby成绩desc6、查询选修了课程的学生人数命令:selectcount(distinct学号)from成绩思考:查询每门课程选修的学生人数.select课程号,count(*)as选修人数from成绩groupby课程号7、查询选修001号课程的学生最高分数命令:selectmax(成绩)from成绩where课程号=0018、查询选修了2门以上课程的学生学号命令:select学号,count(*)as选修门数;from成绩groupby学号havingcount(*)2“as选修门数”意思是把计算结果声明成一个临时字段9、查询所有选修了002号课程的学生姓名。命令:方法一:select姓名from学生where学号in;(select学号from成绩where课程号=”002”)方法二:用谓词(exists)查询select姓名from学生whereexists;(select*from成绩where课程号=002and学号=学生.学号)10、查询没有选修002号课程的学生姓名.命令:方法一:select姓名from学生where学号notin;(select学号from成绩where课程号=”002”)方法二:用谓词(exists)查询select姓名from学生wherenotexists;(select*from成绩where课程号=002and学号=学生.学号)11、向学生表中插入一条记录(48,刘佩佩,19,女)命令:insertinto学生values(48,刘佩佩,19,女)12、删除学生表中学号为“48”的学生信息命令:deletfrom学生where学号=4813、将成绩表中学号为“12”的成绩减去8分命令:update成绩set成绩=成绩-8where学号=“12”学生(学号、姓名、性别、年龄)成绩(学号、课程号、成绩)课程(课程号、课程名)
本文标题:第5章-sql综合练习
链接地址:https://www.777doc.com/doc-7225296 .html