-- 先连接两张表拿到dept_no,dept_name,以及后面需要和另外一个表连接的emp_no
    (select d.dept_no,d.dept_name,de.emp_no
    from departments as d left join dept_emp de
    on d.dept_no = de.dept_no 
    where de.to_date = '9999-01-01')as dde

最最最重要的一个点就是,group by 得是dept_no和title,因为title一样的就不能算是员工的一个类型了。

-- dept_no    dept_name    title    count 结果按照dept_no升序排序
select dde.dept_no,dde.dept_name,t.title,count(t.title ) as `count`
from titles t left join 
    (select d.dept_no,d.dept_name,de.emp_no
    from departments as d left join dept_emp de
    on d.dept_no = de.dept_no 
    where de.to_date = '9999-01-01')as dde
on t.emp_no = dde.emp_no
where t.to_date = '9999-01-01'
group by dde.dept_no,t.title
order by dde.dept_no;