2023年8月3日发(作者:)

SQL考试题

一、选择题

语句中与HAVING子句通常同时使用的是(C)子句。

BY BY D.无需配合

2.以下聚合函数求数据总和的是(B)

A.MAX B.SUM C.COUNT D.AVG

语句的完整语法较复杂,但至少包括的部分是( B )

A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO

语句中的条件用以下哪一项来表达( C )

A.THEN B.WHILE C.WHERE D.IF

5.查找表结构用以下哪一项( B )

A.FIND B.SELETE C.ALTER D.DESC

6.向数据表中插入一条记录用以下哪一项( B )

A.CREATE B.INSERT C.SAVE D.UPDATE

语言中,删除一个表的命令是( D )

A.REMOVE B.CLEAR C.DELETE D.DROP

8.修改数据库表结构用以下哪一项( D )

A.UPDATE B.CREATE C.UPDATED D.ALTER

9.下列( D )不属于连接种类

A.左外连接 B.内连接 C.中间连接 D.交叉连接

是一种( C )语言。

A.函数型 B.高级算法 C.关系数据库 D.人工智能

11.下列的SQL语句中,( B )不是数据定义语句。

1 / 5 A.CREATE TABLE B.GRANT C.CREATE VIEW D. DROP VIEW

12.以下聚合函数求平均数的是( C )

A.COUNT B.MAX C.AVG D.SUM

13.用来插入数据的命令是( A ),用于更新的命令是( )

A.INSERT,UPDATE B.CREATE,INSERT INTO C.DELETE,UPDATE

D.UPDATE,INSERT

14.以下哪项用于左连接( C )

A.JOIN B.RIGHT JOIN C.LEFT JOIN D.INNER JOIN

15.一张表的主键个数为( C )

A.至多3个 B.没有限制 C.至多1个 D.至多2个

二、填空题

1.select 9/3;的结果为___true_。

2.补全语句:select vend_id,count(*) as num_prods from products group by

__vend__;

3.用SELECT进行模糊查询时,可以使用匹配符,但要在条件值中使用__下划线__或%等通配符来配合查询。

4.如果MySQL服务名为MySQL5,则在Windows的命令窗口中,启动MySQL服务的指令是__net start MYSQL5__。

5.MySQL是一种___多用户___(多用户、单用户)的数据库管理系统。

6.创建数据表的命令语句是____create table 表名();_____。

7._order by___语句可以修改表中各列的先后顺序。

8.当某字段要使用AUTO_INCREMENT的属性时,该字段必须是_整数___类型的数据。

三、解答题

1.表名:购物信息

购物人 商品名称 数量

A 甲 2

B 乙 4

C 丙 1

A 丁 2

B 丙 5

……

(其他用户实验的记录大家可自行插入)

2 / 5 给出所有购入商品为两种或两种以上的购物人记录

Select *from 购物信息 where 商品名称>=2 ;

2.表名:成绩表

姓名 课程 分数

张三 语文 81

张三 数学 75

李四 语文 56

李四 数学 90

王五 语文 81

王五 数学 100

王五 英语 49

……

(其他用户实验的记录大家可自行插入)

给出成绩全部合格的学生信息(包含姓名、课程、分数),注:分数在60以上评为合格

Select 姓名,课程,分数 from成绩表 where 分数>60;

3.表名:商品表

名称 产地 进价

苹果 烟台 2.5

苹果 云南 1.9

苹果 四川 3

西瓜 江西 1.5

西瓜 北京 2.4

……

(其他用户实验的记录大家可自行插入)

给出平均进价在2元以下的商品名称

Select 名称,avg(进价) from 商品表 group by 名称 having avg(进价)<2;

4.表名:高考信息表

准考证号 科目 成绩

2006001 语文 119

2006001 数学 108

2006002 物理 142

2006001 化学 136

2006001 物理 127

2006002 数学 149

3 / 5 2006002 英语 110

2006002 语文 105

2006001 英语 98

2006002 化学 129

……

(其他用户实验的记录大家可自行插入)

给出高考总分在600以上的学生准考证号

Select 准考证号,sum(成绩) from 高考信息表 group by 准考证号 having

sum(成绩)>600;

5.表名:高考信息表

准考证号 数学 语文 英语 物理

化学

2006001 108 119 98 127

136

2006002 149 105 110 142

129

……

(其他用户实验的记录大家可自行插入)

给出高考总分在600以上的学生准考证号

Select 准考证号 from 高考信息表where (数学+语文+英语+物理)>600;

6.表名:club

id gender age

67 M 19

68 F 30

69 F 27

70 F 16

71 M 32

……(其余测试数据请自行插入)

查询出该俱乐部里男性会员和女性会员的总数

Select count(*) from club ;

7.表名:team

ID(number型) Name(varchar2型)

1 a

2 b

4 / 5 3 b

4 a

5 c

6 c

要求:执行一个删除语句,当Name列上有相同时,只保留ID这列上值小的

例如:删除后的结果应如下:

ID(number型) Name(varchar2型)

1 a

2 b

5 c

请写出SQL语句。

Select name ,max(id) from team group by name ;

Delect * from(Select Name,max(ID) from team group by Name);

8.表名:student

name course score

张青 语文 72

王华 数学 72

张华 英语 81

张青 物理 67

李立 化学 98

张燕 物理 70

张青 化学 76

查询出“张”姓学生中平均成绩大于75分的学生信息

Select * from (Select *from student where name like '张%' ) as bstudent

group by name having avg(score)>75;

或者select * from student where name in (select name from student where name

like '张%' group by name having avg(score)>75);

5 / 5

2023年8月3日发(作者:)

SQL考试题

一、选择题

语句中与HAVING子句通常同时使用的是(C)子句。

BY BY D.无需配合

2.以下聚合函数求数据总和的是(B)

A.MAX B.SUM C.COUNT D.AVG

语句的完整语法较复杂,但至少包括的部分是( B )

A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO

语句中的条件用以下哪一项来表达( C )

A.THEN B.WHILE C.WHERE D.IF

5.查找表结构用以下哪一项( B )

A.FIND B.SELETE C.ALTER D.DESC

6.向数据表中插入一条记录用以下哪一项( B )

A.CREATE B.INSERT C.SAVE D.UPDATE

语言中,删除一个表的命令是( D )

A.REMOVE B.CLEAR C.DELETE D.DROP

8.修改数据库表结构用以下哪一项( D )

A.UPDATE B.CREATE C.UPDATED D.ALTER

9.下列( D )不属于连接种类

A.左外连接 B.内连接 C.中间连接 D.交叉连接

是一种( C )语言。

A.函数型 B.高级算法 C.关系数据库 D.人工智能

11.下列的SQL语句中,( B )不是数据定义语句。

1 / 5 A.CREATE TABLE B.GRANT C.CREATE VIEW D. DROP VIEW

12.以下聚合函数求平均数的是( C )

A.COUNT B.MAX C.AVG D.SUM

13.用来插入数据的命令是( A ),用于更新的命令是( )

A.INSERT,UPDATE B.CREATE,INSERT INTO C.DELETE,UPDATE

D.UPDATE,INSERT

14.以下哪项用于左连接( C )

A.JOIN B.RIGHT JOIN C.LEFT JOIN D.INNER JOIN

15.一张表的主键个数为( C )

A.至多3个 B.没有限制 C.至多1个 D.至多2个

二、填空题

1.select 9/3;的结果为___true_。

2.补全语句:select vend_id,count(*) as num_prods from products group by

__vend__;

3.用SELECT进行模糊查询时,可以使用匹配符,但要在条件值中使用__下划线__或%等通配符来配合查询。

4.如果MySQL服务名为MySQL5,则在Windows的命令窗口中,启动MySQL服务的指令是__net start MYSQL5__。

5.MySQL是一种___多用户___(多用户、单用户)的数据库管理系统。

6.创建数据表的命令语句是____create table 表名();_____。

7._order by___语句可以修改表中各列的先后顺序。

8.当某字段要使用AUTO_INCREMENT的属性时,该字段必须是_整数___类型的数据。

三、解答题

1.表名:购物信息

购物人 商品名称 数量

A 甲 2

B 乙 4

C 丙 1

A 丁 2

B 丙 5

……

(其他用户实验的记录大家可自行插入)

2 / 5 给出所有购入商品为两种或两种以上的购物人记录

Select *from 购物信息 where 商品名称>=2 ;

2.表名:成绩表

姓名 课程 分数

张三 语文 81

张三 数学 75

李四 语文 56

李四 数学 90

王五 语文 81

王五 数学 100

王五 英语 49

……

(其他用户实验的记录大家可自行插入)

给出成绩全部合格的学生信息(包含姓名、课程、分数),注:分数在60以上评为合格

Select 姓名,课程,分数 from成绩表 where 分数>60;

3.表名:商品表

名称 产地 进价

苹果 烟台 2.5

苹果 云南 1.9

苹果 四川 3

西瓜 江西 1.5

西瓜 北京 2.4

……

(其他用户实验的记录大家可自行插入)

给出平均进价在2元以下的商品名称

Select 名称,avg(进价) from 商品表 group by 名称 having avg(进价)<2;

4.表名:高考信息表

准考证号 科目 成绩

2006001 语文 119

2006001 数学 108

2006002 物理 142

2006001 化学 136

2006001 物理 127

2006002 数学 149

3 / 5 2006002 英语 110

2006002 语文 105

2006001 英语 98

2006002 化学 129

……

(其他用户实验的记录大家可自行插入)

给出高考总分在600以上的学生准考证号

Select 准考证号,sum(成绩) from 高考信息表 group by 准考证号 having

sum(成绩)>600;

5.表名:高考信息表

准考证号 数学 语文 英语 物理

化学

2006001 108 119 98 127

136

2006002 149 105 110 142

129

……

(其他用户实验的记录大家可自行插入)

给出高考总分在600以上的学生准考证号

Select 准考证号 from 高考信息表where (数学+语文+英语+物理)>600;

6.表名:club

id gender age

67 M 19

68 F 30

69 F 27

70 F 16

71 M 32

……(其余测试数据请自行插入)

查询出该俱乐部里男性会员和女性会员的总数

Select count(*) from club ;

7.表名:team

ID(number型) Name(varchar2型)

1 a

2 b

4 / 5 3 b

4 a

5 c

6 c

要求:执行一个删除语句,当Name列上有相同时,只保留ID这列上值小的

例如:删除后的结果应如下:

ID(number型) Name(varchar2型)

1 a

2 b

5 c

请写出SQL语句。

Select name ,max(id) from team group by name ;

Delect * from(Select Name,max(ID) from team group by Name);

8.表名:student

name course score

张青 语文 72

王华 数学 72

张华 英语 81

张青 物理 67

李立 化学 98

张燕 物理 70

张青 化学 76

查询出“张”姓学生中平均成绩大于75分的学生信息

Select * from (Select *from student where name like '张%' ) as bstudent

group by name having avg(score)>75;

或者select * from student where name in (select name from student where name

like '张%' group by name having avg(score)>75);

5 / 5