我有三张桌子
EMPLOYEE table with ID and NAME
COMPANY table with ID and NAME
and
SALARY table with EMPLOYEE_ID, COMPANY_ID and SALARY
Run Code Online (Sandbox Code Playgroud)
我想打印平均工资大于或等于 40000 的每个公司的名称
我的查询是
Select distinct COMPANY.NAME from COMPANY,SALARY,EMPLOYEE WHERE SALARY.COMPANY_ID=COMPANY.ID and (select avg(SALARY) from SALARY,EMPLOYEE WHERE SALARY.EMPLOYEE_ID=EMPLOYEE.ID) >=40000;
Run Code Online (Sandbox Code Playgroud)
您可以按公司名称分组并在having子句中包含条件:
SELECT c.name
FROM company c
JOIN salary s ON c.id = s.company_id
GROUP BY c.name
HAVING AVG(salary) >= 40000
Run Code Online (Sandbox Code Playgroud)