需求:查询员工中工资大于本部门平均工资的员工的last_name,salary和其department_id
# 方式1:使用相关子查询SELECT last_name,salary,department_idFROM employees e1WHERE salary > (SELECT AVG(salary)FROM employees e2WHERE department_id = e1.`department_id`);#方式2:在FROM中声明子查询SELECT e.last_name,e.salary,e.department_idFROM employees e,(SELECT department_id,AVG(salary) avg_salFROM employeesGROUP BY department_id) t_dept_avg_salWHERE e.department_id = t_dept_avg_sal.department_idAND e.salary > t_dept_avg_sal.avg_sal;
需求:查询员工的id,salary,按照department_name 排序
SELECT employee_id,salaryFROM employees eORDER BY (SELECT department_nameFROM departments dWHERE e.`department_id` = d.`department_id`) ASC;
需求:
若employees表中employee_id与job_history表中employee_id相同的数目不小于2,输出这些相同id的员工的employee_id,last_name和其job_id
SELECT employee_id,last_name,job_idFROM employees eWHERE 2 <= (SELECT COUNT(*)FROM job_history jWHERE e.`employee_id` = j.`employee_id`);
