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

rbpvctlc  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(320)

表模式如下所示:

INSTRUCTOR
__________
ID primary key,
salary,
dept_name

我想删除这样的元组,它的工资低于相应部门的平均工资。如何在sql中实现这个查询?

vsaztqbk

vsaztqbk1#

你可以这样试试
首先得到每个部门工资低于平均水平的对应id

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//)

相关问题