学习mysql也有两三个星期了,期间也刷了sqlzoo上的题,以及面试题。贴一下之前刷面试题过程,自己的思路,不断激励自己
一数据表
主要有三个表:emp员工表,dept部门表,salgrade薪水等级表salgrade薪水等级表
每个表的数据如下
emp表
dept部门表
salgrade薪水等级表
二题目
1 取得每个部门最高薪水的人员名称
主要思路:先查询每个部门(部门编号),最高薪水然后按照部门分组的结果
作为临时表;再查询人员名称(将emp表与临时表连接)并且当emp表的员工薪水等于t表的最高薪水的员工就是要查询的结果
注意的是需要按部门编号排序,不然查询结果可能是乱序的
结果
2、查询哪些人的薪水在部门平均水平之上
主要思路:先按部门查询部门平均薪水,将这个结果作为临时表,
在与emp连接,查出哪些员工的薪水大于平均薪水即可(可以使用round函数对结果取两位小数位数)
结果
3 1取得部门中(所有人)平均薪水等级
解题思路:先求各个部门所有人的平均薪水(emp)作为临时表,在与薪水等级表进行连接查出对应的薪水等级
结果
3.2求出部门中(所有人)平均的薪水等级
解题思路:先求出每个人的薪水等级(与sa