1. 查询和Zlotkey相同部门的员工姓名和工资
①查询Zlotkey的部门
select department_id from employees where last_name='Zlotkey'
②查询部门号=①的姓名和工资
select last_name,salary from employees where department_id=
(
select department_id from employees where last_name='Zlotkey'
)
2.查询工资比公司平均工资高的员工的员工号,姓名和工资。
①查询平均工资
select avg(salary) from employees
②查询工资>①的员工号,姓名和工资
select last_name,employee_id,salary from employees
where salary>(select avg(salary) from employees)
3.查询各部门中工资比本部门平均工资高的员工的员工号, 姓名和工资
①查询各部门的平均工资
select avg(salary),department_id from employees group by department_id
②连接①结果集和employees表,进行筛选
select employee_id,last_name,salary,e.department_id from employees e
inner join(
select avg(salary) ag,department_id from employees group by department_id
) ag_dep
on e.department_id=ag_dep.department_id
where salary>ag_dep.ag;
4. 查询和姓名中包含字母u的员工在相同部门的员工的员工号和姓名
①查询姓名中包含字母u的员工的部门
select distinct department_id from employees where last_name like '%u%'
②查询部门号=①中的任意一个的员工号和姓名
select last_name,employee_id from employees where department_id in (
select distinct department_id from employees where last_name like '%u%'
)
5. 查询在部门的location_id为1700的部门工作的员工的员工号
①查询location_id为1700的部门
select distinct department_id from departments where location_id=1700
②查询部门号=①中的任意一个的员工号
select employee_id from employees where department_id=any(
select distinct department_id from departments where location_id=1700
)
6.查询管理者是King的员工姓名和工资
①查询姓名为king的员工编号
select employee_id from employees where last_name='K_ing'
②查询哪个员工的manager_id = ①
select last_name,salary from employees where manager_id in (select employee_id from employees where last_name='K_ing')
7.查询工资最高的员工的姓名,要求first_name和last_name显示为一列,列名为 姓.名
①查询最高工资
select max(salary) from employees
②查询工资=①的姓.名
select concat(first_name,last_name)"姓.名" from employees where salary=(
select max(salary) from employees
)
