您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > ACCESS查询练习题
科普教育在线练习二以“教学管理”数据库建立如下查询:做查询的基本原则:确定查询项(显示),确定条件,确定表对象(查询字段和条件中的字段的来源表以及建立关系,表和表之间必须要关系。),确定统计项,如果使用统计项,要考虑分组,排序。1.查询学生的姓名以及入校日期的信息。2.查询学生的姓名,课程名称以及成绩的信息。3.查询男团员的学生的信息(表中所有字段*)。4.查询除2009-9-3以外入校的学生的姓名,年龄,入校日期。5.查询成绩合格的学生的姓名,课程名称,以及成绩的信息。并且按照成绩的降序排序。6.查询非党员的教师的姓名。7.查询成绩大于75并且小于等于84分的学生的姓名,课程名称,成绩的信息。8.查询2009-9-1和2009-9-3入校的学生的信息。9.查询李迪,高强,王民这三个学生的所选课程信息,包含姓名,课程名称,成绩。10.查询除李迪,高强,王民这三个学生之外的学生所选课程信息,包含姓名,课程名称,成绩。11.查询成绩优秀的学生的姓名,课程名称,成绩的信息。注:成绩在85到100之间视为优秀。12.查询姓名中包含“红”字的学生的信息。13.查询姓李的姓名为两个字学生信息。14.查询有运动和绘画爱好的学生的信息。15.查询未确定入校日期的学生信息。16.查询已确定入校日期的学生信息。17.查询班级为0902的学生姓名,课程名称,成绩。注:班级号为学号的前四位。Left([学生]![学生编号],4)=0902a)补充:如果说查询项为一个表达式时,给表达式指定列名方法:别名:表达式(如:平均年龄:avg([年龄]))b)[表名]![字段名]18.查询学生的平均年龄,要求平均年龄以整数返回。Int()19.查询学生的姓名以及平均成绩,要求平均成绩保留两位小数。a)要求平均成绩以固定两位小数的格式显示。b)平均成绩四舍五入为两位小数,函数:round(表达式,位数)20.查询学生的姓名,课程名称,成绩,要求:将姓名拆分为两列显示,第一列为姓,是姓名的第一个字,第二列为名,是姓名的其他所有字。李明姓left(姓名,1)名mid(姓名,2)课程名称成绩21.合并列查询:查询教师的信息,要求显示教师的教师编号和姓名,显示格式为:JS001李丽,当前列名为授课教师。a)合并列运算符:&(将两个表达式合并为一个字符表达式)22.查询课程名称为4个字和5个字的课程的信息。(len)23.查询简历信息最多的学生的简历的长度。Len(简历)max24.查询课程名称中包含数据库的课程的信息。注:不允许使用like.Like“*数据库*”instr(课程名称,“数据库”)025.查询有绘画或上网爱好的学生的姓名及简历的信息。26.查询教师的姓名以及工龄。Year(date())-year([工作时间])27.查询在2005年9月参加工作的教师的信息。=#2005-9-1#and=#2005-9-30#Between#2005-9-1#and#2005-9-30#Year(工作时间)=2005andmonth(工作时间)=928.查询学生的姓名以及成绩的总分。a)统计计算查询一般和groupby配合使用。当这查询项无法进行分组使不做分组。使用groupby时,一般对主键做分组。29.查询男教师的人数。30.查询男女教师各自的平均工龄,以整数返回。31.查询学生的最大年龄差。Max(年龄)-min(年龄)32.查询每个学生选修的第一门课程,返回学生的姓名,课程编号和成绩的信息。33.查询每个学生选修的最后一门课程,返回学生的姓名,课程编号和成绩的信息。参数查询的参数给定方式:将提示信息用[]括起来,放在条件或者或行中就可以了。34.根据提示,查询学生的姓名,课程名称,成绩的信息。提示信息为:“请输入学生姓名”。[提示信息]35.根据提示,查询学生的姓名,课程名称,成绩的信息。提示信息为:“请输入学生姓名”和“请输入所选的课程名称”36.根据教师参加工作的时间区间,返回教师的信息。时间的区间由用户自行指定,分别提示:起始时间和终止时间。Between[起始时间]and[终止时间]37.根据用户所输入的内容返回有此爱好的学生的信息。提示:请输入要查询的爱好信息。Like“*”&[请输入要查询的爱好信息]&“*”38.使用交叉表查询向导查询不同入校日期的男女学生的人数。行入校日期列性别值学生编号39.使用交叉表查询向导查询不同职称和学历的教师的人数。40.用交叉表查询每个学生的姓名以及所选课程的课程名称,和此门课程的成绩,要求姓名为行标题,课程名称为列标题,成绩为值。41.查询选修了不同课程的男女学生的人数。要求以课程名称为行标题,以性别为列标题,统计学生的人数。42.查询每个学生所选的必修和选修课程的门数。要求以姓名为行标题,以课程类别为列标题,统计课程的门数。43.用交叉表查询各班男女学生的人数,注:班级号为学生编号的前四位。44.选择学生的学生编号,姓名,课程名称,成绩的内容。将查询结果保存为学生成绩表。(先做选择查询,在改为生成表)45.删除学生成绩表中的成绩不合格的信息。46.删除学生成绩表有任何一门课程成绩不合格的信息。Min(成绩)6047.对所有团员的各门课程的成绩加分,每门课加5分。48.对所有学生的年龄值加1。49.将选修了计算机基础并且成绩在60分以上的信息追加到学生成绩表中。50.查询每门课程中最高分的课程的信息追加到学生成绩表。51.根据用户所输入的学生姓名,将此学生的所选课程的信息追加到学生成绩表中,要求提示:“请输入学生姓名”。52.查询年龄最小的三个学生的信息。53.返回选课成绩表中成绩最高的20%的记录。54.查询男团员和女非团员的学生的姓名,性别,团员否。55.查询学生的姓名及平均成绩,要求平均成绩要高于所有学生的平均成绩。(子查询)SQL查询语句:查询:select操作语句:更新update插入insert删除delete定义语句:createtable创建表altertable修改表droptable删除表Select查询项(常量,字段,表达式)[topn[percent]]all|distinctFrom表innerjoin|leftjoin|rightjoin|fulljoin表on联接关系Where联接条件and筛选条件and|or筛选条件Orderby字段|列数asc|descGroupby字段|列数having筛选条件Into查询去向(生成表查询)Select查询项如果是表达式,给表达式给别名,avg(成绩)as别名,如果说查询项是公共字段名,表名.字段名。TopN按照排序返回前N行数据(在使用TOP语句时,必须得使用orderby语句)。All|distinct默认为all返回所有行,distinct去掉重复行。From查询要通过哪些表完成,将这些表列在from语句中,并且建立关系,innerjoin(内联接)|leftjoin|rightjoin|fulljoinon(联接关系)Where筛选条件and|or筛选条件(不能包含含有统计函数的表达式)Orderby排序asc(升序)|desc(降序)如:orderby年龄asc,学生编号descGroupby分组(查询平均成绩在70分以上的学生的姓名及平均成绩)having筛选条件(能包含含有统计函数的表达式)Select姓名,avg(成绩)as平均成绩from学生innerjoin选课成绩on学生!学生编号=选课成绩!学生编号groupby学生!学生编号havingavg(成绩)=70Into生成表查询(select查询项from表into生成表)Insertinto语法多重记录追加查询:INSERTINTO表名(字段列表)要向表中所有字段追加数据,省略字段列表SELECT查询多重追加时,所要插入的数据的查询项必须要和表的字段列表相对应单一记录追加查询:INSERTINTO表名(字段列表)VALUES(值列表)UPDATE语句创建更新查询来改变基于特定准则的指定表中的字段值。语法UPDATE表SET字段名=新值WHERE条件;Update学生set年龄=年龄+1Update教师set工资=工资+300where职称=”讲师”Update教师set工资=工资+100where职称=”助讲”DELETE语句创建一个删除查询把记录从FROM子句列出并符合WHERE子句的一个或更多的表中清除。语法DELETEFROM表WHERE筛选条件Deletefrom学生成绩where成绩80CREATETABLE语句创建新表。语法CREATETABLE表名(字段1类型[(字长)][NOTNULL][,字段2类型[(字长)][NOTNULL])TextsmallintintsingledoublePrimarykeyALTERTABLE语句修改已用CREATETABLE语句创建好的表设计。语法ALTERTABLE表名{ADD字段名字段类型[(字长)][NOTNULL]|ALTER字段名字段类型[(字长)]|DROPCOLUMN字段I}Check规则error信息default默认值DROP语句从数据库中删除已存在的表,或从表中删除已存在的索引。语法DROP{TABLE表|INDEX索引ON表|PROCEDUREprocedure|VIEWview}Createtable表名(字段列表)Altertable表名add|alter字段名Droptable表名
本文标题:ACCESS查询练习题
链接地址:https://www.777doc.com/doc-8130742 .html