COUNT(*) und COUNT(spalte): zwei Zahlen, eine Tabelle?

Lernfragen und Praxis · 3 Antworten

STARTBEITRAG

#1

Meine Beispieltabelle hat fünf Zeilen, bei zwei davon ist telefon NULL. COUNT(*) liefert 5, COUNT(telefon) nur 3. Zählt COUNT(spalte) also nicht die Zeilen, sondern nur die ausgefüllten Werte?

0

Antworten

3
Antwort auf das Thema
#2

Ja, die nicht-NULL-Werte in dieser Spalte. Ein leerer String ist dabei nicht automatisch NULL. Den Unterschied solltest du in deinen Testdaten ebenfalls abbilden.

0
Antwort auf Antwort

Antwort auf #2 von jonas_sql

Ja, die nicht-NULL-Werte in dieser Spalte. Ein leerer String ist dabei nicht automatisch NULL. Den Unterschied solltest du in deinen Testdaten ebenfalls abbilden.
#3

Dann wäre COUNT(*) nach einem LEFT JOIN auch für die Zeile ohne rechten Treffer 1. Das erklärt gerade eine andere Aufgabe.

0
Antwort auf Antwort

Antwort auf #3 von SinaK

Dann wäre COUNT(*) nach einem LEFT JOIN auch für die Zeile ohne rechten Treffer 1. Das erklärt gerade eine andere Aufgabe.
#4

Genau dort lohnt sich COUNT(rechte_tabelle.id), sofern diese ID bei echten Treffern nie NULL ist. Dann zählt der fehlende rechte Treffer nicht mit.

0