Count Student Number in Departments

medium database sql

Problem

Student(student_id, student_name, gender, dept_id) and Department(dept_id, dept_name). Return dept_name and student count, including departments with zero students.

Inputstu=[(1,'A','M',1),(2,'B','F',1)] dept=[(1,'CS'),(2,'EE')]
Output[('CS',2),('EE',0)]
Even empty departments must appear (count 0).

SELECT d.dept_name, COUNT(s.student_id) AS student_number
FROM Department d LEFT JOIN Student s ON d.dept_id = s.dept_id
GROUP BY d.dept_id
ORDER BY student_number DESC, d.dept_name ASC;
Time: O(n) Space: O(n)