首頁 > 資料庫 > mysql教程 > 如何在 SQL 查詢中顯示沒有訂閱的員工的零計數?

如何在 SQL 查詢中顯示沒有訂閱的員工的零計數?

Barbara Streisand
發布: 2024-11-29 20:49:11
原創
600 人瀏覽過

How to Display Zero Counts for Employees Without Subscriptions in SQL Queries?

解決SQL 查詢問題:在COUNT 聚合中顯示零計數

在所呈現的場景中,目標是確定所有的訂閱計數員工,即使是那些在郵件訂閱表中沒有條目的員工。使用內部聯結的初始查詢僅傳回郵件訂閱表中具有符合記錄的員工計數,不包括沒有訂閱的員工。

要解決此問題,請考慮在查詢中使用左聯結 (LEFT JOIN)。左側聯接保留左表 (Employee) 中的所有行,即使右表 (mailingSubscriptions) 中沒有符合的行。以下查詢結合了左聯接來實現所需的結果:

SELECT c.name, count(m.mailid)
FROM Employee c
LEFT JOIN mailingSubscriptions m ON c.Name = m.EmployeeName
GROUP BY c.name;
登入後複製

此修改後的查詢可確保所有員工都包含在結果中,對於mailingSubscriptions 中沒有匹配訂閱的員工,COUNT 聚合將返回0桌子。外連接消除了內連接的限制,內連接只顯示兩個表中具有匹配記錄的行。

透過使用左連接執行修改後的查詢,表將正確顯示所有員工的訂閱計數,包括那些無需訂閱。考慮到 mailingSubscriptions 表中訂閱和未訂閱的員工,這提供了完整且準確的數據表示。

以上是如何在 SQL 查詢中顯示沒有訂閱的員工的零計數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板