Hallo,
zu c) und d) gebe ich Dir vollkommen Recht. Hat ein Autor noch keine Einträge, erscheint er auch nicht. Und Kommentare sind auch immer sinnvoll.
Aber warum funktioniert das grundsätzlich nicht?
a) weil bei einem Autor ohne Einträge eine 0 erscheinen sollte, statt diesen
potentiellen Autor unter den Tisch fallen zu lassen.
b) weil Dir jedes andere Datenbankmanagementsystem außer MySQL statt eines
Ergebnisses eine Fehlermeldung zurückliefert. Warum? Weil Du nicht nach
tab1.name gruppiert hast. Nur MySQL ist so großzügig, Spalten in der
Spaltenliste zu erlauben, über die weder aggregiert noch gruppiert wird.
In Deinem Fall ist die Optimierung von MySQL ausnahmsweise sogar zulässig,
da tab1.name sicher eindeutig von tab1.id abhängen wird.
Warum ich b) erwähne? Weil b) hier oft zu Nachfragen führt, weil der Fragesteller nicht das Ergebnis erhält, das er glaubt, erhalten zum müssen und das er bei ein paar Testdatensätzen sogar erhalten hat.
Freundliche Grüße
Vinzenz