select de.dept_no, dept_name, title, count(*) count
from dept_emp de
join departments d
on de.dept_no = d.dept_no
join (
    select * from titles
    where to_date = '9999-01-01'
) t
on de.emp_no = t.emp_no
group by de.dept_no, dept_name, title
order by dept_no, title;

由于连接条件其实具备两头筛选的功能,因此在职称表中筛选出来目前生效的职称后,还可以通过join连接在职员工号,因为若某员工没有当前生效的职称也不会出现在连接后的结果表中。因此把这个where筛选放在用于连接的子表中,直接就筛选出来了目前在职的且有有效职称的员工。(当然,该思路未考虑有员工在职却无有效职称的情况)