2017-03-12 66 views
2

我是一个SQL初学者。我试图编写一个查询,“如果总薪水大于300,000,提供所有人为每个部门提供的总薪水”。 我已经写了一些,但不能完全弄清楚。我不知道这个查询

USE EMP_DB_01; 
SELECT DEPTNAME, SUM(SALARY) AS 'Total Salary' 
FROM DEPT, EMP 
WHERE (SALARY > 300000) AND (DEPT.DEPTNO = EMP.DEPTNO) 
GROUP BY DEPTNAME 

表是这里 enter image description here

+0

您不能简单地使用逗号(,)并从多个表中获取数据。您应该使用JOIN从SQL中的多个表中获取数据。 –

+0

@MurtuzaKhan正式注意到 – Sami

回答

3

您应该使用DEPT和EMP之间的连接可以基于DEPT.DEPTNO = EMP.DEPTNO ..和总薪水超过300000你应该使用拥有和不到哪

有过滤器汇总结果的结果..哪里过滤行的值

这个返回部门和相关的总薪水时的总和> 300.00

USE EMP_DB_01; 
SELECT DEPTNAME, SUM(SALARY) AS 'Total Salary' 
FROM DEPT 
INNER JOIN EMP ON DEPT.DEPTNO = EMP.DEPTNO 
HAVING SUM(SALARY) > 300000 
GROUP BY DEPTNAME 
+0

我认为SUM(SALARY)> 300000 – HRgiger

+0

@HRgiger答案更新为SUM salauary – scaisEdge

+0

@scaisEdge没有工作 – Sami