SQL基础周测-03

一、单选题
 
1. 以下聚合函数求数据平均值的是( ) 
MAX  B、 SUM  C、 COUNT  D、 AVG
 
 
2. MySQL默认事务的隔离级别( )  
A、 read uncommitted(读取未提交内容)
B、 read committed(读取提交内容)
C、 repeatable read(可重读)
D、 serializable (可串行化)
 
 
3. 修改数据库表结构用以下哪一项( )
A、 UPDATE  B、 CREATE  C、 UPDATED  D、 ALTER
 
4. 删除用户账号命令是( )
A、 DROP USER
B、 DROP TABLE USER
C、 DELETE USER
D、 DELETE FROM USER
 
5. SQL是一种( )语言。
A、 函数型  B、 高级算法  C、 结构化查询  D、 人工智能
 
6. 若要在基本表S中增加一列CN(课程名),可用( )
A、 ADD TABLE S ALTER(CN CHAR(8))
B、 ALTER TABLE S ADD(CN CHAR(8))
C、 ADD TABLE S(CN CHAR(8))
D、 ALTER TABLES S (ADD CN CHAR(8))
 
7. 按照姓名降序排列( )
A、 ORDER BY DESC NAME
B、 ORDER BY NAME DESC
C、 ORDER BY NAME ASC
D、 ORDER BY  ASC NAME
 
8. 下面的代码输出的结果是( )
SET @m=5;
SET @n=8;
SET @sum=@m+@n;
SELECT @sum;
A、 报错  B、 5  C、 8  D、 13
 
9. SELECT COUNT(SAL) FROM EMP GROUP BY DEPTNO;意思是( )
A、 求每个部门中的工资
B、 求每个部门中工资的大小
C、 求每个部门中工资的综合
D、 求每个部门中工资的个数
 
10. 条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且( )
A、 包括20岁不包括30岁
B、 不包括20岁包括30岁
C、 不包括20岁和30岁
D、 包括20岁和30岁
 
11. 从GROUP BY分组的结果集中再次用条件表达式进行筛选的子句是( )
A、 FROM  B、 ORDER BY  C、 HAVING  D、 WHERE
 
12. 为数据表创建索引的目的是( )
A、 提高查询的检索性能
B、 归类
C、 创建唯一索引
D、 创建主键
 
13. MySQL中,预设的、拥有最高权限超级用户的用户名为( )
A、 test  B、 Administrator  C、 DA  D、 root
 
14. 以下语句不正确的是( )
A、 select * from emp;
B、 select ename,hiredate,sal from emp;
C、 select * from emp order deptno;
D、 select * from emp where deptno=1 and sal<300;
 
15. 格式化日期的函数是( )
A、 DATEDIFF()
B、 DATE_FORMAT()
C、 DAY()
D、 CURDATE()
 
16. 一张表的主键个数为( )
A、 至多3个  B、 没有限制  C、至多1个  D、 至多2个
 
17. 以下表示可变长度字符串的数据类型是( )
A、 TEXT  B、 CHAR  C、VARCHAR  D、 EMUM
 
18. 拼接字段的函数是( )
A、 SUBSTRING()  B、 TRIM()  C、 SUM()D、 CONCAT()
 
19. 下列说法错误的是( )
A、GROUP BY 子句用来分组 WHERE 子句的输出
B、WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。
C、 聚合函数一般和group by 一起使用
D、 HAVING 子句用来从FROM的结果中筛选行
 
20. 例如数据库中有A表,包括学生,学科,成绩三个字段 , 数据库结构为
学生     学科     成绩
张三     语文     60 
张三     数学     100 
李四     语文     70 
李四     数学     80 
李四     英语     80
如何统计最高分>80的学科(       )
A、 SELECT MAX(成绩)  FROM A GROUP BY学科  HAVING MAX(成绩)>80;
B、 SELECT学科  FROM A GROUP BY学科  HAVING成绩>80;
C、 SELECT学科  FROM A GROUP BY学科  HAVING MAX(成绩)>80;
D、 SELECT学科  FROM A GROUP BY学科 WHERE MAX(成绩)>80;
 
21. MySql安装后,默认占用端口是( )
A、3306  B、8066  C、 8086  D、 1503
 
22. 在标准SQL分类中( )不属于DML;
A、 UPDATE  B、SELECT  C、 DELETE  D、 INSERT
 
23. 执行insert命令时,如果未指定列名则表示( );
A、 可以随便给定值  
B、 只需给定主键值  
C、 必须给定每个字段的值
D、 只需给定有约束限制的列提供值
 
24. 执行insert,update,delete命令后的返回值都是一个( ),代表更新的结果;
A、整数  B、 结果集  C、 毫秒值  D、 二维表
 
25. 下列有关索引描述正确的是(    )
A、 各种索引中,只有主键具有唯一性要求;
B、 主键列允许有null值;
C、 主键索引仅可以提高主键列的检索速度;
D、 Unique 索引列允许有null值;
 
 
二、填空题 

1. 在SQL中使用( create table) 命令建立基本表结构。

 

2. 事物的性质包括 原子性、( 一致性)、( 隔离性)、( 持久性)。

 

3. 创建数据库基本的命令是(create database )数据库名。

 

4. 在MySql8.0中数据库引擎是( innodb)。

 

5. SELECT 语句中,使用( where)子句可提取满足条件的记录。

 

6. MyDQL的索引有(普通索引 , 唯一索引,  主键索引,  外键索引,全文索引 )5种

 

7. 在标准SQL分类中CREATE,(drop ),( alter)属于DDL。

 

8. 使用( call)命令调用存储过程。

 
9. 数据库视图被称为“虚拟表”,创建视图格式是(create view )视图名 AS SELECT语句
 
10. 组合索引遵循( 最左)优先原则,因为索引方法是Btree树状的,搜索时需要从根节点出发,上层节点对应靠左的值
 
三、简答题 

1.创建 employee 的表结构 要求: 

1) id int 编号(主键,自动增长) 

2) job_id int 工种 

3) name varchar(30) 员工名称 

4) department_id int 部门编号(001,002) 

5) salary decimal(10,2) 薪水 

6) bonus decimal(10,2) 奖金

复制代码
create table employee(
    id int unsigned primary key auto_increment,
    job_id int not null,
    name varchar(30) not null unique,
    department_id int not null,
    salary decimal(10,2) not null default 1000,
    bonus  decimal(10,2) not null default 0
);
复制代码

2.写出给表employee结构添加两条数据 

要求: 1) job_id 值 2, name 值张三,department_id 值1,salary 值5000,bonus 值 800; 

   2) job_id 值 3, name 值李四,department_id 值1,salary 值4000,bonus 值 100;

insert employee (job_id,name,department_id,salary,bonus) values(2,’张三’,1,5000,800); 
insert employee (job_id,name,department_id,salary,bonus) values(3,’李四’,1,4000,1000); 

3.对表employee查询语句; 

要求: 1) 查找 薪水(salary)大于等于 4500并且 奖金(bonus)大于 500的记录

    2) 查询部门编号(department_id)为1 的员工个数

select * from employee where salary>=4500 and bonus>500; 
select count(*) from employee where department_id=1; 

4.对表employee分页查询,假设每页2 记录,写出前两页的查询语句;

select * from employee limit 0,2; 
select * from employee limit 2,2; 

5.对表employee查询分组和排序

 要求: 1) 查询所有部门的编号,员工数量和工资的平均 并按平均工资降序

select department_id,count(*),avg(salary) as a
from employee 
group by department_id
order by a desc; 
 
posted @   carat9588  阅读(450)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示