dedlfix: Abfrage aus mehreren Tabellen

Beitrag lesen

Hi!

Du kannst das AS auch weg lassen und den Alias-Namen direkt hinter den Spaltennamen schreiben (tbl1.id id1, tbl2.id id2).
Toller Tip, der den SQL-Befehl zumindest für Menschen sehr viel weniger gut lesbar macht weil dieser dann nur an den Kommas erkennen kann, ob ein weiterer Spaltenname oder ein Alias folgt. Vier Zeichen die fehlten. Dafür 122 Zeichen getippt, die kein guter Ratschlag waren.

Es ist im Prinzip egal, wie man etwas schreibt, wenn man sich verlesen "will", dann macht man das, egal was da geschrieben steht. Ordentliche Optik hilft, verhindert aber Lesefehler nicht absolut.

Du hast übersehen/unterschlagen, dass Matze jedem Ergebniswert eine eigene Zeile gegönnt hat. Insofern ist da nicht nur ein Komma als Trennzeichen, sondern die Spalten sind noch weitaus deutlicher voneinander abgegrenzt. Ein AS hilft dir nur dann einigermaßen als optische Trennhilfe, wenn du außerdem konsequent weitere Regeln beachtest, wie SQL-Syntax-Bestandteile in Großbuchstaben und Spaltennamen in Kleinbuchstaben zu notieren. Und auch dann ist Unachtsamkeit beim Lesen weiterhin ungünstig, denn du musst immer noch den Unterschied zwischen Punkten von Kommas beachten, vor allem dann, wenn nicht für jede Spalte ein Alias vergeben wurde.

Ergo: Der bessere Tipp ist, jeden Ergebniswert in einer eigenen Zeile zu notieren, dann ist "AS oder nicht" nicht mehr so wichtig.

Es wäre auch noch möglich, Bezeichner von Aliasnamen durch unterschiedliche Begrenzungszeichen voneinander zu unterscheiden. Abgesehen vom ANSI-Kompatibilitätsmodus werden unter MySQL Bezeichner mit Backticks eingefasst. Bei der Definition eines Aliasnamens ist ein solcher aber noch kein Bezeichner, weswegen er auch in 'String'-"Begrenzern" notiert werden kann. Andere Systeme erkennen Aliasnamen in Bezeichnerbegrenzern sogar als syntaktischen Fehler an.

Lo!