mysql - sql查询组按departname在其他表中的详细信息

标签 mysql

表:员工

EmpID: INTEGER NOT NULL
DeptID: INTEGER NOT NULL
Name: Char(40) NOT NULL
Age: INTEGER NOT NULL
Salary: INTEGER NOT NULL

表:部门

DeptID: INTEGER NOT NULL
Name: CHAR(20) NOT NULL

我们需要编写一个 SQL 查询,输出所有部门的名称,使得该部门的平均工资大于 10,00,000。输出应仅包含一列:DeptName

试过这个:

SELECT AVG(Salary) AS avg_salary ,DeptID FROM ( SELECT DeptID, Salary FROM employee GROUP BY 1) DeptID GROUP BY DeptID HAVING avg_salary > 10;

结果:无法加入。

最佳答案

这是查询:

SELECT 
Department.name AS DeptName
FROM Department 
INNER JOIN Employee ON Department.DeptID = Employee.DeptID
GROUP BY Department.DeptID
HAVING AVG(Employee.Salary) > 1000000;

关于mysql - sql查询组按departname在其他表中的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37517540/

相关文章:

MYSQL IF 值 = null 或值 = ""

java.lang.ClassNotFoundException : com. mysql.jdbc.Driver - 不工作

java - JDBC同时连接MySQL和Sybase数据库

mysql - 由于在 MySQL 中使用保留字作为表名或列名导致的语法错误

mysql - 分组总和汇总

mysql - 如果主键与第三个表匹配并按第三个表排序,我将如何连接两个表?

MySQL 查询 - 计算有多少用户注册了事件(男性和女性)

java - java中的mysql选择查询

php - 从 .frm 文件中检索 MySQL 表模式以创建 SQL 脚本

mysql - 将单个表中的多个字段映射到另一个表中的单个字段的策略