如何从给定的表中删除那些元组,教师的工资低于相应部门的平均工资?

时间:2018-01-16 03:25:35

标签: mysql sql datatable

表模式如下所示:

INSTRUCTOR
__________
ID primary key,
salary,
dept_name

我想删除薪水低于相应部门平均值的元组。如何在SQL中实现此查询?

1 个答案:

答案 0 :(得分:0)

你可以这样试试

首先获得每个部门工资低于平均值的通讯员身份

 Select ID from INSTRUCTOR a 
 Join 
 (Select dept_name, AVG(salary) avg_salary from INSTRUCTOR Group By dept_name) b 
 on a.dept_name = b.dept_name
 Where a.salary < b.avg_salary)

然后你可以通过添加另一个子查询来删除它们

Delete From INSTRUCTOR Where ID In(
//Query Above//)