SQL26详细题解

汇总各个部门当前员工的title类型的分配数目

http://www.nowcoder.com/questionTerminal/4bcb6a7d3e39423291d2f7bdbbff87f8

题目要求

汇总各个部门当前员工的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;

    如有错误欢迎评论区指出,感谢~

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务