《数据库系统与应用技术》习题及答案 第4章 MySQL数据库操纵功能 章节习题答案_第1页
《数据库系统与应用技术》习题及答案 第4章 MySQL数据库操纵功能 章节习题答案_第2页
《数据库系统与应用技术》习题及答案 第4章 MySQL数据库操纵功能 章节习题答案_第3页
《数据库系统与应用技术》习题及答案 第4章 MySQL数据库操纵功能 章节习题答案_第4页
《数据库系统与应用技术》习题及答案 第4章 MySQL数据库操纵功能 章节习题答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE3第9章数据库维护PAGE40Linux技术基础与服务应用4.6本章习题一.单项选择题1.查询语句SELECT中可以使用()关键字将查询结果中的重复行屏蔽。A.ALL B.DISTINCTC.DISTINCTROW D.以上答案都不正确答案:B.DISTINCT2.SELECT语句选项中对查询数据进行排序的关键词是()。A.WHEREB.LIMITC.GROUPBYD.ORDERBY答案:A.WHERE3.以下选项中不是比较运算符的是()。A.ANDB.ALLC.SOMED.ANY答案:A.AND4.以下选项不是聚合函数是()。A.COUNT B.AVERAGE C.SUMD.AVG答案:B.AVERAGE5.MYSQL中,指定一个已有数据库作为当前数据库的关键字是()。A.USING B.USED C.USE D.USES答案:C.USE 6.SQL语句中,与表达式“编号NOTIN(‘id1’,’id2’)”功能相同的表达式是()。A.编号=‘id1’AND编号=’id2’ B.编号!=‘id1’OR编号!=’id2’ C.编号=‘id1’OR编号=’id2’ D.编号!=‘id1’AND编号!=’id2’ 答案:C.编号=‘id1’OR编号=’id2’ 7.要查询职工信息表中职工姓“张”的职工情况,可用()命令。A.SELECT*FROM职工信息表WHERE姓名LIKE'张_'; B.SELECT*FROM职工信息表WHERE姓名LIKE'张%';C.SELECT*FROM职工信息表WHERE姓名LIKE'%张%';D.SELECT*FROM职工信息表WHERE姓名LIKE'_张%';答案:B.SELECT*FROM职工信息表WHERE姓名LIKE'张%';8.MySQL中,可以将多个表进行连接查询的是()。A.JOINB.LIKE C.UNION D.MERGE答案:A.JOIN9.以下说法中错误的是()。A.GROUPBY子句用例分组WHERE子句的输出B.WHERE子句用来筛选FROM子句中自定的操作所产生的行C.聚合函数需要和GROUPBY一起使用D.HAVING子句用来从FROM的结果中筛选行答案:D.HAVING子句用来从FROM的结果中筛选行10.以下插入记录正确的选项是()。A.INSERTINTOemp(ename,sal)values(v1,v2,v3); B.INSERTINTOemp(ename)values(v1,v2,v3);C.INSERTINTOemp(ename,hiredate,sal)values(v1,v2,v3);D.INSERTINTOemp(ename,hiredate,sal)values(v1,v2); 答案:C.INSERTINTOemp(ename,hiredate,sal)values(v1,v2,v3);11.有三张表,它们的记录行数分别为5行,2行和6行,三个表进行交叉连接后,结果集中共有()行数据。A.不确定 B.40C.32 D.60答案:D.6012.下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是()。A.WHERE子句B.HAVING子句C.ORDERBY子句D.GROUPBY子句答案:B.HAVING子句13.SQL语句中,“AGEIN(20,22)”d的语义是()。A.AGE<22ANDAGE>20 B.AGE<=22ANDAGE>=20 C.AGE=20ANDAGE=22 D.AGE=20ORAGE=22 答案:D.AGE=20ORAGE=22 14.SQL语言的数据操作语句包括SELECT.INSERT.UPDATE和DELETE,其中最重要也是使用最频繁的语句是()。A.UPDATE B.DELETE C.INSERT D.SELECT答案:B.DELETE 15.语句select*fromcitylimit3,7;,以下描述正确的是()。A.获取第3条到第9条记录B.获取第3条到第10条记录C.获取第4条到第10条记录D.获取第4条到第9条记录答案:D.获取第4条到第9条记录16.在MySQL中,有关UPDATE语句和REPLACE语句,说法错误的是()。A.UPDATE在没有匹配记录时什么都不做。B.REPLACE可以选择性地更新记录的一部分字段。C.REPLACE在有重复记录时更新,在没有重复记录时插入。D.UPDATE可以选择性地更新记录的一部分字段。答案:B.REPLACE可以选择性地更新记录的一部分字段。二.填空题1.在MySQL中,默认值即关键字。答案:DEFAULT2.操作“元组<ALL(集合)”的语义是,“元组<ANY(集合)”的语义是。答案:元组值小于集合中的每一元组值、元组值小于集合中的任一元组值3.使用SELECT语句结合ORDERBY子句可对查询结果排序表示升序,表示降序。答案:ASC、DESC4.表达式中的通配符“%”表示、“_”(下划线)表示。答案:任意多个、任意一个5.检索姓名字段中含有“明”的表达式为:。答案:姓名LIKE“%明%”6.HAVING子句与WHERE子句很相似,区别在于:WHERE子句作用的对象是,HAVING子句作用的对象是。答案:分组7.表示年龄在10-20岁之间的SQL语句条件是。答案:Between10and208.在成绩表中,查询语文课成绩最好的三名学生的学生姓名,正确的语句。答案:SELECT姓名FROM成绩表ORDERBY语文DESCLIMIT0,3;9.查找有购买“网页设计”这本书的订单信息,SELECT语句如下,请补充完整。select*fromsellwhere图书编号(select图书编号frombookwhere书名='网页设计');答案:IN简答题1.SQL语言有什么特点,包括哪几个子句?简述各个子句的功能。答案:SQL语言特点包括综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式(SQL是自含式语言又是嵌入式语言)等,主要包括SELECT子句、FROM子句、WHERE子句、GROUPBY子句、HAVING子句、ORDERBY子句、LIMIT子句等,其功能分别如下:(1)SELECT子句指定要查询的列或计算表达式(2)FROM子句指定数据来源的表或视图;(3)WHERE子句:过滤行数据;(4)GROUPBY子句是分组聚合计算;(5)HAVING子句:过滤分组后的结果;(6)ORDERBY子句是用来排序结果集;(7)LIMIT子句用来限制查询结果返回的记录数量。2.什么是子查询?IN子查询、EXISTS子查询、比较子查询各有何功能?答案:子查询也称为嵌套查询,指在一个查询内部包含另一个查询,子查询是一个SELECT查询,嵌套在SELECT、INSERT、UPDATE、DELETE语句或其他子查询的WHERE子句或HAVING子句中。IN子查询检查主查询的值是否存在于子查询结果集中;EXISTS子查询检查子查询是否返回任何行(布尔测试),不需要返回任何实际数据,只需返回一个真或假值,其中,EXISTS表示存在,NOTEXISTS表示不存在;比较子查询将主查询的值与子查询的单个结果进行比较,子查询必须返回单行(除非使用ALL/ANY)。3.使用JOIN连接查询中,如何指定连接的多个表的表名?如何指定连接条件?答案:使用JOIN连接查询中,基本语法格式如下:SELECT*FROM表名AJOIN表名BON表名A.列名=表名B.列名JOIN表名CON表名B.列名=表名C.列名其中利用FROM子句中指定主表,使用JOIN子句指定要连接的表,利用ON指定连接条件。4.简述聚合函数,并介绍几个常用的聚合函数。答案:聚合函数聚合函数是对一组值执行计算并返回单个值的函数,通常与GROUPBY子句一起使用来对结果集进行分组汇总。常用的聚合函数有COUNT()、SUM()、AVG()、MAX()、MIN()等。5.内连接与外连接有何区别?左外连接与右外连接有何区别?答案:(1)内连接与外连接的区别:内连接(INNERJOIN)是最常用的连接类型之一,它根据两个或多个表之间的共同列值来联接这些表。在内连接中,只有在连接的表之间有匹配的值时,才会返回结果;外连接(OUTERJOIN)它可以返回两个或多个表之间所有的匹配和不匹配的数据。(2)外连接又可以分为左外连接、右外连接、全外连接等,其中左外连接返回左表中的所有行,加上右表中匹配的行,若右表中无匹配,则右表字段显示为NULL;右外连接返回右表中的所有行,加上左表中匹配的行,若左表无匹配,则左表字段显示为NULL。6.什么是联合查询?简述其功能。答案:联合查询是一种将多个SELECT语句的结果集合并为一个结果集的SQL操作。其功能主要是结果集合并、垂直组合、数据整合等,其中结果集合并是将多个查询返回的数据合并为单个结果集;垂直组合可以将多个查询结果按列对齐后垂直堆叠;数据整合可以合并来自不同表或相同表但条件不同的数据。四.操作题将职工社团管理数据库employee进行恢复到第三章已创建的数据库,三张数据表包括职工表、社会团体表、参加表。按照要求完成以下题目。表1职工表(emp)职工号姓名年龄性别籍贯e01张国华46男湖南e02赵子琪30女湖南e03刘小霞20女河北e04张涛25男湖北e05高琪雅23女河北e06王方29男河南e07刘长辉38男河北e08周密18女湖南表2社会团体表(org)编号名称负责人活动地点g01爱电影e012楼201g02篮球先锋e03室内篮球场g03摄影家协会e013楼306g04美食家e054楼407g05游戏天地e035楼电竞室g06爱运动e074楼404g07宠物世界e022楼209表1参加表(join)职工号编号参团日期e01g012018-08-08e01g032019-02-05e01g072016-05-05e02g012020-06-10e02g072016-10-18e03g042017-08-20e03g052020-08-14e05g042018-08-13e06g012018-06-08e06g042018-06-09e06g062017-10-16e06g072017-03-20e07g012017-04-14e07g03nulle07g062015-12-151.利用SQL语句向三张表中插入数据记录,三张表的数据分别如表1-表3所示。答案:#向第3章已创建的数据库和表插入数据INSERTINTOempVALUES('e01','张国华','46','男','湖南');INSERTINTOempVALUES('e02','赵子琪','30','女','湖南');INSERTINTOempVALUES('e03','刘小霞','20','女','河北');INSERTINTOempVALUES('e04','张涛','25','男','湖北');INSERTINTOempVALUES('e05','高琪雅','23','女','河北');INSERTINTOempVALUES('e06','王方','29','男','河南');INSERTINTOempVALUES('e07','刘长辉','38','男','河北');INSERTINTOempVALUES('e08','周密','18','女','湖南');#`社会团体`INSERTINTOorgVALUES('g01','爱电影','e01','2楼201');INSERTINTOorgVALUES('g02','篮球先锋','e03','室内篮球场');INSERTINTOorgVALUES('g03','摄影家协会','e01','3楼306');INSERTINTOorgVALUES('g04','美食家','e05','4楼307');INSERTINTOorgVALUES('g05','游戏天地','e03','5楼电竞室');INSERTINTOorgVALUES('g06','我爱乒乓','e07','4楼404');INSERTINTOorgVALUES('g07','宠物世界','e01','2楼209');##参加alterINSERTINTOattendVALUES('e01','g01','2018-08-08');INSERTINTOattendVALUES('e01','g03','2019-02-05');INSERTINTOattendVALUES('e01','g06','2016-05-05');INSERTINTOattendVALUES('e02','g01','2020-06-10');INSERTINTOattendVALUES('e02','g07','2016-10-18');INSERTINTOattendVALUES('e03','g04','2017-08-20');INSERTINTOattendVALUES('e03','g05','2020-08-14');INSERTINTOattendVALUES('e05','g04','2018-08-13');INSERTINTOattendVALUES('e06','g01','2018-06-08');INSERTINTOattendVALUES('e06','g04','2018-06-09');INSERTINTOattendVALUES('e06','g06','2017-10-16');INSERTINTOattendVALUES('e06','g07','2017-03-20');INSERTINTOattendVALUES('e07','g01','2017-04-14');INSERTINTOattendVALUES('e07','g03',null);INSERTINTOattendVALUES('e07','g06','2015-12-15');2.在employee数据库中使用SELECT进行基本查询。(1)在职工表(emp)中,查询每个职工的职工号、姓名、性别。(2)查询职工表(emp)编号为e02的职工姓名和籍贯。(3)查询职工表(emp)所有籍贯为“湖南”的女职工的姓名和年龄。答案:(1)SELECT职工号,姓名,性别FROMemp;(2)SELECT姓名,籍贯FROMempWHERE职工号='e02';(3)SELECT姓名,年龄FROMempWHERE籍贯='湖南'AND性别='女';3.使用SELECT语句进行条件查询。(1)在参加表(attend)中查询参团日期在2016-2017内的职工号、社团编号和参团日期。(2)查询参加表(attend)中参团编号为g04的职工人数。(3)查询职工表(emp)中参团编号为g07的职工号和参团日期。(4)查询职工表(emp)中职工的姓名和年龄,查询结果按年龄从大到小排序。(5)查询职工表(emp)中所有姓“刘”的职工号和姓名。答案:(1)SELECT职工号,社团编号,参团日期FROMattendWHEREYEAR(参团日期)BETWEEN2016AND2017;(2)SELECT编号,COUNT(*)AS参加人数FROMattendWHERE编号='g04';(3)SELECT职工号,参团日期FROMempWHERE编号='g07';(4)SELECT姓名,年龄FROMempORDERBY年龄DESC;(5)SELECT职工号,姓名FROMempWHERE姓名LIKE'刘%';4.对职工表(emp),查询职工的职工号、姓名、性别、年龄及籍贯,查询结果先按照性别的由小到大排序,性别相同的再按职工号由大到小排序。答案:SELECT职工号,姓名,性别,年龄,籍贯FROMempORDERBY性别,职工号DESC;5.使用GROUPBY子句查询参加表(attend)中,各个职工号的参团编号。答案:SELECT职工号,GROUP_CONCAT(编号)AS参团列表FROMattendGROUPBY职工号;6.使用UNION运算符对职工表(emp)中姓“刘”的职工号,籍贯为‘湖南’的职工号、姓名返回在一个表中。答案:SELECT职工号,姓名FROMempWHERE姓名LIKE'刘%'UNIONSELECT职工号,姓名FROMempWHERE籍贯='湖南';7.嵌套查询(1)在职工表(emp)中查找与“刘小霞”性别相同的所有职工姓名、编号。(2)使用IN子查询查找所参团编号为g01、g07的职工号、姓名、性别。(3)使用ANY子查询查找职工号为e01的参团日期比e02号参团日期最早还要晚的参团编号和参团日期。(4)使用ALL子查询女性职工比男性职工出生年份晚的职工姓名、年龄。答案:(1)USEEMPLOYEE;SELECT职工号,姓名FROMempWHERE性别=(SELECT性别FROMempWHERE姓名='刘小霞');(2)SELECT职工号,姓名,性别FROMempWHERE编号IN(SELECT编号FROMemp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论