我在MySql公司有两个表:(cname,city)有效:( ename,cname,salary)
我想显示为每家公司工作的员工人数,即使这个数字为零.
例如为...
Company :
Microsoft Bangalore
IBM NY
works :
emp1 Microsoft 10000
emp2 Microsoft 90000
Run Code Online (Sandbox Code Playgroud)
输出应该是:
Microsoft 2
IBM 0
Run Code Online (Sandbox Code Playgroud)
但是以下查询和其他类似查询仅打印那些至少有一名员工的公司:
Select count(*) from works natural join company group by company.cname
Run Code Online (Sandbox Code Playgroud)
如果我使用外部联接,那么零雇员的公司仍然会出现在一行中,因此该选项也是如此.
怎么做?
Tom*_*lak 23
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28563 次 |
| 最近记录: |