Operatoren sauber formatieren in SQL-Abfragen
Sauber formatierter Quellcode erleichtert die Übersicht und damit die Fehlersuche. Doch wie leserlich aufbereiteter Sourcecode aussehen soll, ist und bleibt weitgehend Geschmackssache. Im Folgenden stelle ich meine Vorlieben beim Formatieren von SQL-Statements vor.
Ich benütze diese Gelegenheit, wieder einmal auf unsere Sammlung von Best Practices in den Coding Guidelines for Webdevelopment hinzuweisen. Hätte man die unter dem Fachbereich SQL festgehaltenen, einfachen Regeln beherzigt, hätte ich mir gestern eine halbe Stunde Fehlersuche erspart. Aber alles der Reihe nach.
Bevorzugte Schreibweise für AND / OR
Beginnen wir mit meiner bevorzugten Schreibweise für AND- und OR-Verknüpfungen:
- Das Auge kann «active AND admin» mit einem Blick erkennen und damit die logische Verknüpfung erstellen. Die Bedingungen der Verknüpfung sind in diesem Fall zweitrangig.
- Der Operator steht bei der Bedingung, die verknüpft werden soll. Das tönt für mich logisch.
- Die mit AND verknüpfte Anweisung kann als komplette Zeile entfernt werden, ohne dass eine Anpassung am restlichen Statement nötig wäre.
Zur Überprüfung der Überlegungen eine Gegenüberstellung von zwei Schreibweisen, die sich nur in der Platzierung des AND-Operators unterscheiden:
Best Practice | zweite Wahl |
---|---|
|
|
Das gleiche Beispiel noch mit einer OR-Verknüpfung:
Best Practice | zweite Wahl |
---|---|
|
|
Die gleiche Logik lässt sich auch auf das Verknüpfen von Tabellen anwenden. Und so schreibe ich Joins nach diesem Muster:
Was bei diesem Beispiel noch auffällt, ist die Notation im SELECT-Bereich. Die ausgewählten Spalten werden nach Herkunft (Tabelle) zeilenweise aufgeführt. Und nochmals das komplette Beispiel in der Gegenüberstellung:
Best Practice |
---|
|
zweite Wahl |
---|
|
Variationen für die Spalte «zweite Wahl» gäbe es natürlich diverse. Und logischerweise führen beide Schreibweisen zum exakt gleichen Ergebnis, sind also funktionell nicht unterschiedlich. Es ist eine Frage der Philosophie. Und für mich gehört der Operator zum zweiten Element, das in einer Beziehung zu einem ersten steht, da das zweite Element zum ersten hinzugefügt wird.
TrackBacks
Trackback URL dieses Eintrages:
http://www.samelis.ch/blog/mischa/trackback.cfm?id=7F1DDF20-59C4-412E-B2C0C4F17887A7A6
Kommentare
Für diesen Eintrag existieren keine Kommentare.