select a.dept_no,a.dept_name,b.title,count(title)
from(
select a.dept_no,a.dept_name,b.emp_no  -- 先把各个部门的员工写到一张临时表 
from departments a
left join dept_emp b on a.dept_no=b.dept_no
)a
left join titles b on a.emp_no=b.emp_no
group by a.dept_no,a.dept_name,b.title  -- 再根据部门分组,然后再对title分组
order by a.dept_no