Mysql 查询以统计每个经理的员工数(对于经理也是零计数)

Mysql 查询以统计每个经理的员工数(对于经理也是零计数),mysql,Mysql,经理表: create table Manager(id integer, name varchar(100)); insert into Manager(id, name) values(1, "M1"); insert into Manager(id, name) values(2, "M2"); insert into Manager(id, name) values(3, "M3"); 员工表和经理id(m_id) 已执行的查询: select M.id, M.name, count(

经理表:

create table Manager(id integer, name varchar(100));
insert into Manager(id, name) values(1, "M1");
insert into Manager(id, name) values(2, "M2");
insert into Manager(id, name) values(3, "M3");
员工表和经理id(m_id)

已执行的查询:

select M.id, M.name, count(E.id) from Manager as M, Employee as E where E.m_id=M.id group by E.m_id, M.id, M.name;
输出:

1   M1  2
2   M2  1 
预期产出:

1   M1  2
2   M2  1
3   M3  0

请帮助我如何将M3经理和分配给他的0员工包括在内?

您应该使用左联接

SELECT M.id, M.name, count(E.id) from Manager as M LEFT JOIN Employee as E ON E.m_id=M.id GROUP BY E.m_id, M.id, M.name;

你应该使用左连接

SELECT M.id, M.name, count(E.id) from Manager as M LEFT JOIN Employee as E ON E.m_id=M.id GROUP BY E.m_id, M.id, M.name;