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

MySQL查询语句专题测试

20 题 40 分钟 难度:★

考察知识点

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

SELECT基本查询(3题)

  • SELECT语句的基本语法
  • 查询指定列与查询所有列
  • SELECT语句的使用场景

DISTINCT去重(2题)

  • DISTINCT去重的作用
  • DISTINCT的使用语法
  • 多列去重的效果

WHERE条件过滤(4题)

  • WHERE子句的基本语法
  • 比较运算符的使用(=, >, <, >=, <=, !=)
  • 逻辑运算符(AND, OR, NOT)
  • IN、BETWEEN、LIKE运算符

聚合函数(2题)

  • COUNT/SUM/AVG/MAX/MIN函数
  • COUNT(*)与COUNT(列名)的区别
  • 聚合函数与NULL的处理

GROUP BY分组(2题)

  • GROUP BY的基本语法
  • 分组聚合的使用场景
  • GROUP BY与聚合函数的组合

HAVING过滤分组(2题)

  • HAVING子句的作用
  • HAVING与WHERE的区别
  • HAVING过滤分组结果

多表连接查询(3题)

  • JOIN连接的基本概念
  • INNER JOIN/LEFT JOIN/RIGHT JOIN
  • 多表连接的使用场景

综合知识点(2题)

  • SELECT/WHERE/GROUP BY/HAVING组合使用
  • 查询语句的综合应用
💡 参考答案在文末
判断题
1

WHERE条件可以使用AND和OR组合多个条件,AND表示同时满足,OR表示满足任一即可。

A

B

2

SELECT * FROM table_name 表示查询表中所有列的数据。

A

B

3

JOIN连接时必须使用ON子句指定两个表的关联条件。

A

B

4

使用GROUP BY分组时,SELECT子句中的非聚合列必须出现在GROUP BY子句中。

A

B

5

DISTINCT关键字必须放在SELECT关键字之后、列名之前。

A

B

6

SUM函数计算总和,AVG函数计算平均值,这两个函数都忽略NULL值。

A

B

单选题
7

WHERE子句的作用是什么?

A

排序结果

B

过滤数据,只返回满足条件的行

C

分组数据

D

去除重复

8

HAVING子句的作用是什么?

A

过滤行数据

B

过滤分组结果,对聚合后的数据进行筛选

C

排序数据

D

创建分组

9

查询姓名以"张"开头的学生,WHERE条件应该怎么写?

A

WHERE name = '张'

B

WHERE name LIKE '张%'

C

WHERE name LIKE '%张'

D

WHERE name STARTS '张'

10

COUNT(*)和COUNT(列名)的区别是什么?

A

完全相同

B

COUNT(*)统计所有行数,COUNT(列名)统计该列非NULL值的行数

C

COUNT(列名)统计所有行

D

COUNT(*)只统计非NULL行

11

MySQL中查询数据使用什么语句?

A

GET FROM table_name

B

SELECT FROM table_name

C

FIND FROM table_name

D

QUERY FROM table_name

12

DISTINCT关键字的作用是什么?

A

排序数据

B

过滤条件

C

去除重复值,只返回唯一值

D

分组数据

13

GROUP BY department, gender 表示按什么分组?

A

只按department分组

B

只按gender分组

C

先按department分组,每个department组内再按gender分组

D

只按第一列分组

14

查询年龄等于18的学生,WHERE条件应该怎么写?

A

WHERE age = 18

B

WHERE age IS 18

C

WHERE age == 18

D

WHERE age EQUALS 18

15

查询人数超过10人的部门,HAVING条件应该怎么写?

A

HAVING COUNT(*) > 10

B

HAVING > 10

C

HAVING COUNT > 10

D

HAVING number > 10

16

多表连接查询的作用是什么?

A

创建多个表

B

将多个表的数据按关联条件合并查询

C

删除多个表

D

复制多个表

17

INNER JOIN(内连接)返回什么数据?

A

左表所有数据

B

右表所有数据

C

两表中都存在的匹配数据

D

两表所有数据

18

如何查询表中的指定列(如只查询name和age列)?

A

SELECT name age FROM students

B

SELECT name, age FROM students

C

SELECT (name, age) FROM students

D

SELECT [name, age] FROM students

多选题
19

关于不同连接类型的描述,哪些是正确的?

A

INNER JOIN只返回两表都匹配的数据

B

LEFT JOIN返回左表全部数据,右表无匹配显示NULL

C

RIGHT JOIN返回右表全部数据,左表无匹配显示NULL

D

CROSS JOIN产生笛卡尔积(两表每行组合)

E

JOIN必须使用ON指定关联条件

填空题
20

MySQL连接类型:____________返回匹配数据,____________返回左表全部数据,____________返回右表全部数据,连接条件用ON子句指定。

参考答案
1.正确 2.正确 3.正确 4.正确 5.正确 6.正确 7.B 8.B 9.B 10.B 11.B 12.C 13.C 14.A 15.A 16.B 17.C 18.B 19.A;B;C;D;E 20.INNER JOIN;LEFT JOIN;RIGHT JOIN
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 MySQL数据类型专题测试
下一套试卷 → MySQL索引与优化专题测试
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码