全部学科
Python全栈
python
NodeJS全栈
nodejs

MySQL高级查询专题测试

21 题 40 分钟 难度:★★

考察知识点

本试卷涵盖以下核心知识点:

视图与存储过程(9题)

  • 视图的基本概念与特点
  • 创建视图的语法与方法
  • 视图的优点与更新限制
  • 存储过程的概念与优点
  • 存储过程参数类型(IN/OUT/INOUT)
  • 存储过程的基本语法

子查询(8题)

  • 子查询的基本概念
  • WHERE子句中的子查询(IN)
  • EXISTS子查询的使用
  • FROM子句中的子查询(派生表)
  • IN与EXISTS的区别
  • 子查询执行顺序

联合查询(4题)

  • UNION的基本概念与用法
  • UNION与UNION ALL的区别
  • UNION使用规则
  • UNION与JOIN的区别
💡 参考答案在文末
判断题
1

IN子查询先执行完整子查询获取所有结果列表,EXISTS子查询逐行判断发现匹配就停止,通常EXISTS效率更高。

A

B

2

子查询会先执行,然后将结果传递给外层查询使用。

A

B

3

视图可以简化复杂查询、隐藏底层表结构、提供数据访问控制,但不存储数据不能提高查询性能。

A

B

4

UNION ALL效率比UNION高,因为UNION需要额外操作去除重复行,如果确定无重复应使用UNION ALL。

A

B

5

UNION合并的每个SELECT查询必须有相同数量的列,对应列的数据类型必须兼容。

A

B

6

存储过程的优点包括:预编译执行效率高、减少网络传输、封装业务逻辑、提高安全性、代码复用。

A

B

单选题
7

子查询在WHERE子句中使用IN的作用是什么?

A

排序数据

B

判断值是否在子查询返回的结果列表中

C

计算总和

D

分组数据

8

FROM子句中的子查询(派生表)是什么作用?

A

只能用于排序

B

子查询结果作为临时表供外层查询使用

C

只能用于分组

D

不能在FROM中使用子查询

9

什么样的视图可以进行INSERT、UPDATE、DELETE操作?

A

所有视图都可以更新

B

只有基于单表、无聚合函数、无DISTINCT、无GROUP BY的简单视图可以更新

C

视图不能进行任何更新操作

D

只有带WHERE条件的视图可以更新

10

MySQL存储过程(Stored Procedure)是什么?

A

存储在磁盘的数据文件

B

预编译并存储在数据库中的一组SQL语句集合,可重复调用

C

数据的备份副本

D

索引的另一种名称

11

MySQL创建视图的基本语法是什么?

A

NEW VIEW view_name AS SELECT ...

B

CREATE VIEW view_name AS SELECT ...

C

ADD VIEW view_name AS SELECT ...

D

MAKE VIEW view_name AS SELECT ...

12

MySQL存储过程支持哪些参数类型?

A

只支持输入参数

B

IN输入参数、OUT输出参数、INOUT输入输出参数

C

只支持输出参数

D

不支持参数

13

什么是子查询?

A

查询的别名

B

嵌套在另一个查询内部的SELECT查询

C

查询的备份

D

索引查询

14

创建存储过程的基本语法结构是什么?

A

CREATE PROCEDURE name() { SQL语句 }

B

CREATE PROCEDURE name() BEGIN SQL语句 END

C

NEW PROCEDURE name() BEGIN SQL语句 END

D

ADD PROCEDURE name() SQL语句

15

EXISTS子查询的作用是什么?

A

计算子查询结果的行数

B

判断子查询是否返回结果(有结果返回TRUE,无结果返回FALSE)

C

返回子查询的所有结果

D

排序子查询结果

16

MySQL视图(View)是什么?

A

一张真实的数据表

B

一个虚拟表,基于SELECT查询结果定义,不存储实际数据

C

数据的备份文件

D

索引的类型

17

UNION和UNION ALL的区别是什么?

A

完全相同

B

UNION去除重复行,UNION ALL保留所有行包括重复

C

UNION ALL去除重复行

D

UNION保留所有行

18

MySQL的UNION操作符的作用是什么?

A

连接两张表

B

合并两个或多个SELECT查询的结果集,去除重复行

C

计算总和

D

分组数据

多选题
19

关于视图和存储过程的对比,哪些描述是正确的?

A

视图是虚拟表基于SELECT定义,存储过程是预编译的SQL语句集合

B

视图主要用于简化查询,存储过程用于封装业务逻辑

C

视图不能包含参数,存储过程可以接受IN/OUT/INOUT参数

D

视图每次访问执行底层查询,存储过程预编译效率更高

E

视图和存储过程都可以用于简化开发提高安全性

填空题
20

子查询类型:____________子句用IN判断值在列表中,____________判断是否存在结果,____________子句作为派生表,相关子查询引用外层列需多次执行。

21

视图是____________基于SELECT定义,用____________创建;存储过程是____________,用CREATE PROCEDURE创建,支持IN/OUT/INOUT参数。

参考答案
1.正确 2.正确 3.正确 4.正确 5.正确 6.正确 7.B 8.B 9.B 10.B 11.B 12.B 13.B 14.B 15.B 16.B 17.B 18.B 19.A;B;C;D;E 20.WHERE;EXISTS;FROM 21.虚拟表;CREATE VIEW;预编译SQL集合
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 MySQL高级技能认证
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码