MySQL考试试题及答案

《MySql高级数据分析》期末测试
一、选择题(总分50分,每题2分)
1、使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当(B)
A)使用WHERE子句
B)在GROUP BY后面使用HAVING 子句
C)先使用WHERE子句,再使用HAVING子句
D)先使用HAVING 子句,再使用WHERE子句

2、储蓄所有多个储户,储户在多个储蓄所存取款,储蓄所与储户之间是(B)
A.一对一的联系 B.一对多的联系
C.多对一的联系 D.多对多的联系

3、视图是一个“虚表”,视图的构造基于(A)
A.基本表 B.视图
C.基本表或视图 D.数据字典

4、SQL语言中,SELECT语句的执行结果是(B)
A.属性 B.表 C.元组 D.数据库

5、设有关系模式EMP(职工号,姓名,年龄,技能)。假设职工号唯一,每个职工有多项技能,则EMP表的主键是( A )
A.职工号 B.姓名,技能 C.技能 D.职工号,技能

6、在SQL语句中,与表达式"仓库号 NOT IN("wh1","wh2")"功能相同的表达式是(D )
A)仓库号="wh1" AND 仓库号="wh2" B)仓库号!="wh1" OR 仓库号!= "wh2"
C)仓库号="wh1" OR 仓库号="wh2" D)仓库号!="wh1" AND 仓库号!="wh2"

7、在SQL SELECT语句中用于实现关系的选择运算的短语是(D )
A)FOR B)WHILE
C)WHERE D)CONDITION

8、根据关系模式的完整性规则,一个关系中的主键(C )。
A.不能有两个 B.不能成为另一个关系的外部键
C.不允许空值 D.可以取空值
9、若规定工资表中基本工资不得超过5000元,则这个规定属于(A )。
A.关系完整性约束 B.实体完整性约束
C.参照完整性约束 D.用户定义完整性

10、关系数据库中,外码(ForeignKey)是( C)
A)在一个关系中定义了约束的一个或一组属性
B)在一个关系中定义了缺省值的一个或一组属性
C)在一个关系中的一个或一组属性是另一个关系的主码
D)在一个关系中用于唯一标识元组的一个或一组属性

11、以下哪些命令是DDL语句( B )
A. CREATE DATABASE命令
B. ALTER TABLE命令
C. SELECT 命令
D. INSERT命令

12、在SQL中,删除视图用__C___。
A、DROP SCHEMA命令 B、CREATE TABLE命令
C、DROP VIEW命令 D、DROP INDEX命令

13、SQL语句中修改表结构的命令是___C___。
A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE
D、ALTER STRUCTURE

14、定位第一条记录上的命令是___A___。
A、limit 1 B、GO BOTTOM C、GO 6 D、limit 1,1

15、在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过___B___。
A、候选键 B、主键 C、外键 D、超键

16、DELETE FROM S WHERE 年龄>60语句的功能是__A____。
A、从S表中彻底删除年龄大于60岁的记录
B、S表中年龄大于60岁的记录被加上删除标记
C、删除S表
D、删除S表的年龄列

17、在命令窗口执行SQL命令时,若命令要占用多行,续行符是___C___。
A、冒号(😃 B、分号(😉 C、逗号(,) D、连字符(-)

18、设有图书管理数据库:
  图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
  读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
  借阅(借书证号C(4),总编号C(6),借书日期D(8))
  对于图书管理数据库,查询0001号借书证的读者姓名和所借图书的书名。
SQL语句正确的是____A__。
SELECT 姓名,书名 FROM 借阅,图书,读者 WHERE;借阅.借书证号="0001" AND;______


  A、图书.总编号=借阅.总编号 AND 读者.借书证号=借阅.借书证号
  B、图书.分类号=借阅.分类号 AND读者.借书证号=借阅.借书证号
  C、读者.总编号=借阅.总编号 AND读者.借书证号=借阅.借书证号
D、图书.总编号=借阅.总编号 AND

19、设有图书管理数据库:
  图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
  读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
  借阅(借书证号C(4),总编号C(6),借书日期D(8))
对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次。下面的SQL语句正确的是___A___。
SELECT 单位,______ FROM 借阅,读者 WHERE;借阅.借书证号=读者.借书证号 ______
A、COUNT(借阅.借书证号) GROUP BY 单位
B、SUM(借阅.借书证号) GROUP BY 单位
C、COUNT(借阅.借书证号) ORDER BY 单位
D、COUNT(借阅.借书证号) HAVING 单位

  1. 设有图书管理数据库:
      图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
      读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
      借阅(借书证号C(4),总编号C(6),借书日期D(8))
      对于图书管理数据库,检索借阅了《现代网络技术基础》一书的借书证号。下面SQL语句正确的是__B__
      SELECT 借书证号 FROM 借阅 WHERE 总编号=;____________________
      A、(SELECT 借书证号 FROM 图书 WHERE 书名="现代网络技术基础")
      B、(SELECT 总编号 FROM 图书 WHERE 书名="现代网络技术基础")
      C、(SELECT 借书证号 FROM 借阅 WHERE 书名="现代网络技术基础")
    D、(SELECT 总编号 FROM 借阅 WHERE 书名="现代网络技术基础")

21 、用一组数据“准考证号:200701001、姓名:刘亮、性别:男、出生日期:1993-8-1"来描述某个考生信息,其中"出生日期"数据可设置为(A )。
A. 日期/时间型 B.数字型 C.货币型 D.逻辑型

22、如下图所示,"书目信息"表中被排序的字段是(D )。

A.分类号 B.书名 C.出版日期 D.价格

23、下列描述正确的是( B )。
A.一个数据库只能包含一个数据表 B.一个数据库可以包含多个数据表
C.一个数据库只能包含两个数据表 D.一个数据表可以包含多个数据库

24、如下图所示的关系数据表中,主键最好定为 ( A )。

A.姓名 B.借书证号 C.所教学科 D. T2005001

25、在SELECT语句中,只列出前几行的关键字是( A )。
A.Limit B. distinct C. delete D. from

二、上机题(总分50分)
2.1、数据详情:
表名:pros 产品表

表名:saler 销售商表

表名:pro_sal 销售表

2.2、基于product数据库的三个表,用SQL语言完成以下查询
(1)查询所有产品的产品编号和销售额,并将销售额增加10%后设置别名为“增长额" (3分)
查询语句:
select 产品编号,销售额,销售额*1.1 as 增长额 from pro_sal

查询结果:

(2)查询“华中、华北、东南”地区的销售商名称和地区。(3分)

查询语句:
select 销售商名称,地区 from saler

查询结果:

(3)查找销售商名称的第二个字符是’建’并且只有三个字符的销售商编号和名称。(3分)
查询语句:
select 销售商名称,销售商编号 from saler where substring(销售商名称,2,1)='建' and 销售商名称 like ''

查询结果:

(4)查询有电话的销售商信息。(3分)
查询语句:
select * from saler where 电话<>"";

查询结果:

(5)查询销售额在2000到5000的并且数量大于100的产品编号和销售日期。(3分)
查询语句:
select * from pro_sal where 销售额 <= 5000 and 销售额>=2000 and 数量 >100

查询结果:(本无结果,为达到效果另插入一条数据)

(6)求销售了产品的销售商总数。(3分)
查询语句:
select count(销售商编号) from pro_sal

查询结果:

(7)求产品编号为“0001”的产品的平均销售额、最高销售额、最低销售额。(3分)
查询语句:
select 产品编号,avg(销售额) as 平均,max(销售额) as 最高,min(销售额) as 最低 from pro_sal where 产品编号='0001'

查询结果:

(8)查询销售产品种类超过2类的销售商编号和种类数。并按购买种类数从大到小排序。
查询语句:(3分)
elect * from(select 销售商编号,count(产品编号) as 销售种类 from pro_sal group by 销售商编号 order by count(产品编号) desc)as 类别号 where 销售种类 >2

查询结果:

(9)查询销售商的销售商编号和名称、销售的产品编号和数量。(3分)
查询语句:
select a.销售商编号,a.销售商名称,b.产品编号,b.数量 from saler a,pro_sal b where a.销售商编号 = b.销售商编号

查询结果:

(10)查询至少销售过1次“0001”号产品的销售商编号和购买次数,并按购买次数多少降序排列。(3分)
查询语句:
select a.销售商编号,count() 购买次数 from pro_sal a where a.产品编号=0006 group by a.销售商编号 order by count() desc

查询结果:

(11)查询与‘喜田有限公司’在同一地区的销售商名称,地区和负责人。(4分)
查询语句:
select 销售商名称,地区,负责人 from saler where
地区=(select 地区 from saler where 销售商名称='喜田有限公司')

查询结果:

(12)查询销售商的销售情况,要求包括销售了产品的销售商和没有销售的销售商,显示他们的销售商编号、销售商名称、产品编号、销售日期。(4分)
查询语句:
select a.销售商编号,a.销售商名称,b.产品编号,b.销售日期 from saler a,pro_sal b where a.销售商编号=b.销售商编号

查询结果:

(13)查询销售额小于平均销售额的产品编号、产品名称和价格、销售额。(4分)
查询语句:
select a.产品编号,a.产品名称,a.价格,b.销售额 from pros a, pro_sal b where a.产品编号=b.产品编号 and 销售额<(select avg(销售额) from pro_sal)

查询结果:

(14)查询没被销售商销售过的产品信息。(4分)
查询语句:
select * from pros p where p.产品编号 not in(select ps.产品编号 from pro_sal ps )

查询结果:

(15)查询销售了“0001”但没有销售“0002”号产品的销售商编号和产品编号。(4分)
查询语句
select ps.销售商编号,产品编号 from pro_sal ps where ps.产品编号=0001 and ps.销售商编号 not in (select 销售商编号 from pro_sal ps where ps.产品编号=0002)

查询结果

posted @ 2020-09-18 21:00  Augenstein  阅读(6733)  评论(1编辑  收藏  举报