题目要求
汇总各个部门当前员工的title类型的分配数目,即结果给出部门编号dept_no、dept_name、其部门下所有的员工的title以及该类型title对应的数目count,结果按照dept_no升序排序
解题思路:
第一步:联结dept_emp,titles表,分组(dept_no,title 作为联合分组条件),count计数
SELECT de.dept_no,t.title,COUNT(*) AS count FROM dept_emp de INNER JOIN titles t ON de.emp_no = t.emp_no GROUP BY de.dept_no,t.title;
第二步:department和第一步的表相连接,主表为department
SELECT de.dept_no,d.dept_name,t.title,COUNT(*) AS count FROM departments d LEFT JOIN dept_emp de ON d.dept_no = de.dept_no INNER JOIN titles t ON de.emp_no = t.emp_no GROUP BY de.dept_no,t.title ORDER BY de.dept_no ASC;
如有错误欢迎评论区指出,感谢~