我的表是:
Department(Dept_id,Dept_name#)
Employee(Emp_id#,Emp_Name,Address,Phone,Email,Dept_name)
从上表中显示以下详细信息(Dept_Id
,Dept_name
,Total Employees
)。
我使用以下查询:
SELECT dept_id,department.dept_name,count(emp_id)"Total"
FROM department,employee_details
WHERE department.dept_name=employee_details.dept_name
GROUP BY dept_id;
在上面的查询中,我并未获得全部dept_name
,而是我的dept_name
和dept_id
的{{1}}被计算在内。那么如何才能获得emp_id
和dept_name
的所有数据以及相应的结果dept_id
,即0
。
答案 0 :(得分:0)
使用LEFT JOIN
代替隐式INNER JOIN
,并在department.dept_name
子句中添加GROUP BY
。
SELECT d.dept_id
, d.dept_name
, COUNT(ed.emp_id) AS Total
FROM department d
LEFT JOIN employee_details ed ON d.dept_name = ed.dept_name
GROUP BY d.dept_id
, d.dept_name