STARTBEITRAG
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
Lernfragen und Praxis · 3 Antworten
STARTBEITRAG
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?
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.
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.
Dann wäre COUNT(*) nach einem LEFT JOIN auch für die Zeile ohne rechten Treffer 1. Das erklärt gerade eine andere Aufgabe.
Dann wäre COUNT(*) nach einem LEFT JOIN auch für die Zeile ohne rechten Treffer 1. Das erklärt gerade eine andere Aufgabe.
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.