使用mysql group by显示count为0的行

我在MySql Company中有两个表:(cname,city)工作:(ename,cname,salary)

我想显示每个公司的员工人数,即使该人数为零。

例如

Company : 

Microsoft Bangalore

IBM NY

works :

emp1 Microsoft 10000

emp2 Microsoft 90000

输出应为:

Microsoft 2

IBM 0

但是以下查询和其他类似查询仅显示那些至少拥有一名员工的公司:

Select count(*) from works natural join company group by company.cname

如果我使用外部联接,则员工数为零的公司仍将显示在一行中,因此该选项也将退出。

怎么做?

回答:

LEFT JOIN的经典案例:

SELECT

c.cname,

COUNT(w.ename) wcount

FROM

company c

LEFT JOIN works w ON c.cname = w.cname

GROUP BY

c.cname

以上是 使用mysql group by显示count为0的行 的全部内容, 来源链接: utcz.com/qa/433122.html

回到顶部