软件测试面试时遇到的数据库问题

1.数据库中有如下两个表:
表1:employee
员工编号:employee_id (NOT allows null)
员工姓名:employee_name (NOT allows null)
年 龄 :age,
雇用日期:hire_date,
部门:department
软件测试面试时遇到的数据库问题_第1张图片
表2:salary
员工编号:employee_id
员工工资:salary
软件测试面试时遇到的数据库问题_第2张图片

(1)计算2015年以后雇佣的员工个数
这里写图片描述
关于日期函数:
year(date)返回日期中的年份;
month(date)返回日期中的月份;
day(date)返回日期中的天;

(2)工资大于9000的员工编号、姓名和工资
软件测试面试时遇到的数据库问题_第3张图片

(3)计算各个部门的员工个数,表头显示为:部门、员工个数
软件测试面试时遇到的数据库问题_第4张图片

(4)按工资的高低列出工资表
正序:
软件测试面试时遇到的数据库问题_第5张图片
倒序:
软件测试面试时遇到的数据库问题_第6张图片

(5)个人操作中用到的一些sql语句
删除表中的一个字段:
这里写图片描述

新增字段salary:
这里写图片描述

2.数据库查询 对下面两张表进行查询操作:
学生信息表student:
软件测试面试时遇到的数据库问题_第7张图片
班级信息表class:
这里写图片描述

(1)目前要查询班主任LiFang的班级下全体学生的信息情况。 要求:用两种不同的sql查询语句(连接查询和嵌套查询),并说明两种sql语句的执行效率哪个更高以及原因。
a.连接查询
软件测试面试时遇到的数据库问题_第8张图片
b.嵌套查询
软件测试面试时遇到的数据库问题_第9张图片

嵌套查询定义
连接查询定义

(2)用一句sql语句统计上题中student表中高一,1 高一,2各自班级中总分最高的分数
这里写图片描述

(3)操作中遇到的一些问题
插入数据的时候报了下面的错误:
这里写图片描述
该错误是由于输入了中文,Class_ID 的属性为char(255),不能接收中文,修改字段的属性为下面即可:
这里写图片描述
修改某个字段的内容(把Li XiaoTing的Student_ID号改为2)
这里写图片描述

多表查询实例

你可能感兴趣的:(mysql)