Heim >Datenbank >MySQL-Tutorial >Wie zeige ich Nullzählungen für Mitarbeiter ohne Abonnements in SQL-Abfragen an?

Wie zeige ich Nullzählungen für Mitarbeiter ohne Abonnements in SQL-Abfragen an?

Barbara Streisand
Barbara StreisandOriginal
2024-11-29 20:49:11616Durchsuche

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

Behebung des SQL-Abfrageproblems: Anzeige von Nullzählungen in der COUNT-Aggregation

Im dargestellten Szenario besteht das Ziel darin, die Abonnementanzahl für alle zu ermitteln Mitarbeiter, auch solche ohne Einträge in der Tabelle der Mailing-Abonnements. Die erste Abfrage mit einem inneren Join ergab nur Zählungen für Mitarbeiter mit übereinstimmenden Datensätzen in der Mailing-Abonnementtabelle, ausgenommen Mitarbeiter ohne Abonnements.

Um dieses Problem zu beheben, sollten Sie die Verwendung eines linken Joins (LEFT JOIN) in der Abfrage in Betracht ziehen. Bei einem Left Join bleiben alle Zeilen der linken Tabelle (Employee) erhalten, auch wenn in der rechten Tabelle (mailingSubscriptions) keine passenden Zeilen vorhanden sind. Die folgende Abfrage integriert einen Left-Join, um das gewünschte Ergebnis zu erzielen:

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

Diese überarbeitete Abfrage stellt sicher, dass alle Mitarbeiter in den Ergebnissen enthalten sind, und die COUNT-Aggregation gibt 0 für Mitarbeiter ohne passende Abonnements in den Mailing-Abonnements zurück Tisch. Durch den Outer-Join entfällt die Einschränkung von Inner-Joins, die nur Zeilen mit übereinstimmenden Datensätzen in beiden Tabellen anzeigen.

Durch die Ausführung der geänderten Abfrage mit einem Left-Join zeigt die Tabelle die Abonnementanzahlen für alle Mitarbeiter, einschließlich dieser, korrekt an ohne Abonnements. Dies ermöglicht eine vollständige und genaue Darstellung der Daten, wobei sowohl Mitarbeiter mit als auch ohne Abonnements in der Tabelle „mailingSubscriptions“ berücksichtigt werden.

Das obige ist der detaillierte Inhalt vonWie zeige ich Nullzählungen für Mitarbeiter ohne Abonnements in SQL-Abfragen an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn