Given Employees(EmpID, EmpName, DeptID, Salary) and Departments(DeptID, DeptName), which SQL query correctly returns department names having more than 5 employees, along with the average salary in each such department?
- ASELECT D.DeptName, AVG(E.Salary) FROM Employees E JOIN Departments D ON E.DeptID = D.DeptID WHERE COUNT(*) > 5 GROUP BY D.DeptName;
- BSELECT D.DeptName, AVG(E.Salary) FROM Employees E JOIN Departments D ON E.DeptID = D.DeptID GROUP BY D.DeptName HAVING COUNT(*) > 5;
- CSELECT D.DeptName, AVG(E.Salary) FROM Employees E JOIN Departments D ON E.DeptID = D.DeptID GROUP BY E.EmpID HAVING COUNT(*) > 5;
- DSELECT D.DeptName, AVG(E.Salary) FROM Employees E JOIN Departments D ON E.DeptID = D.DeptID GROUP BY D.DeptName;
Correct answer: B