前言
1.最近想把之前在leetcode练习的mysql专题梳理一遍,该系列主要是个人的学习总结,以方便之后个人时不时可以来翻阅复习。
2.(若有侵权,请联系我,会立即删除文章)。
一、问题描述
难度中等580题:统计各专业学生人数
二、代码实现
1.代码思路
算专业的学生人数,很自然地想到group by 后 count()。但本题有一个要注意的点是“(甚至没有当前学生的专业)”,即没有学生的专业也要查询出来,如何解决这个问题,我们可以在表连接时,以department表去连接。
2.具体代码
select dept_name,count(student_id) student_number
from Student s
right join Department d
on d.dept_id=s.dept_id
group by dept_name
order by student_number DESC,dept_name
总结
以department表去连接可以是from Student s right join Department d 或者是from Department d left join Student s