ホームページ > データベース > 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) を使用することを検討してください。左結合では、右側のテーブル (mailingSubscriptions) に一致する行がない場合でも、左側のテーブル (Employee) のすべての行が保持されます。次のクエリには、目的の結果を達成するために左結合が組み込まれています:

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート