表架构如图所示:
INSTRUCTOR
__________
ID primary key,
salary,
dept_name
我想删除工资低于相应部门平均水平的元组。如何用SQL实现这个查询?
最佳答案
你可以这样尝试
首先获取各部门薪资低于平均水平的通讯员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//)
关于mysql - 如何从给定的表中删除那些教师工资低于相应部门平均工资的元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48273644/