Halihallo
Noch eine kleine Zugabe: :-)
Hm. Ich habe Probleme das irgendwie verständlich zu formulieren.
Zusammenfassend: Bei einem GROUP BY gibt ein COUNT(*) immer
mindestens eins aus, da sonst nach nix gruppiert geworden wäre und
das steht im Wiederspruch zur Definition was GROUP BY macht.
=> Paradoxon.
Es sei denn, du argumentierst mit Attributfremden GROUP BY
Bedingungen:
SELECT COUNT(*) FROM a NATURAL JOIN b GROUP BY 1
Tja, wir haben einen GROUP BY und ein COUNT(*), sollte also nach
meiner Aussage kein COUNT(*)==0 vorkommen. Tut es aber, nämlich genau
dann, wenn bei 'a NAT.JOIN b' keine Entsprechungen gefunden werden,
dir also ein Empty Set zurückgegeben werden würde. Tja, das ist
nämlich genau dass, was ein "SELECT COUNT(*) FROM a" oder dem
Beispiel entsprechend ein "SELECT COUNT(*) FROM a NATURAL JOIN b"
machen würde.
Folge: Ich muss mich dahingegen korrigieren, dass ich von
Attributabhängigen GROUP BY Bedingungen spreche...
Viele Grüsse
Philipp