Wie Sie SQL-Abfragen formatieren
Unsauberes SQL ist einer der schnellsten Wege, Bugs einzuschleusen. Wenn eine Abfrage als eine einzige lange Zeile ohne Einrückung daherkommt, ist es schwer zu erkennen, welche Bedingungen zu welchen Joins gehören, wo Unterabfragen beginnen und enden oder ob die Logik überhaupt stimmt.
Warum Formatierung wichtig ist
- Debugging — eine gut formatierte Abfrage macht Logikfehler sichtbar. Sie können den Fluss von SELECT zu WHERE zu JOIN nachvollziehen, ohne raten zu müssen.
- Code-Review — Reviewer lesen formatiertes SQL in Sekunden. Eine einzeilige Abfrage zwingt sie, sie erst gedanklich zu zerlegen.
- Wartung — wenn Sie Monate später zu einer Abfrage zurückkehren, sagt Ihnen die Formatierung auf einen Blick, was sie tut.
- Zusammenarbeit — eine konsistente Formatierung im Team bedeutet, dass alle SQL auf dieselbe Weise lesen.
So formatieren Sie SQL
- SQL einfügen — geben Sie eine minifizierte oder unsaubere Abfrage in den Formatierer ein. Er verarbeitet SELECT, INSERT, UPDATE, DELETE, CREATE TABLE und komplexe Abfragen mit Unterabfragen und Joins.
- Optionen konfigurieren — wählen Sie die Einrückungstiefe und ob Schlüsselwörter in Großbuchstaben gesetzt werden sollen. Diese Einstellungen passen zum Styleguide Ihres Projekts.
- Ergebnis kopieren — das formatierte SQL ist bereit, wieder in Ihren Editor, Ihren Datenbank-Client oder Ihre Dokumentation eingefügt zu werden.
Wie gute Formatierung aussieht
Eine Abfrage wie select u.name, o.total from users u join orders o on u.id = o.user_id where o.total > 100 and u.active = 1 order by o.total desc wird zu:
SELECT
u.name,
o.total
FROM users u
JOIN orders o
ON u.id = o.user_id
WHERE o.total > 100
AND u.active = 1
ORDER BY o.total DESC
Jede Klausel beginnt in einer eigenen Zeile. Bedingungen sind unter ihrer Eltern-Klausel eingerückt. Joins und ihre ON-Bedingungen sind klar einander zugeordnet.
Tipps
- Vor dem Commit formatieren — schicken Sie Ihr SQL durch einen Formatierer, bevor Sie es in die Versionskontrolle aufnehmen. Das hält Diffs sauber und konzentriert Reviews auf die Logik statt auf den Stil.
- Konsistente Schlüsselwort-Schreibweise verwenden — entscheiden Sie sich für Groß- oder Kleinbuchstaben und bleiben Sie im gesamten Projekt dabei. Gemischte Stile machen Abfragen schwerer lesbar.
- Komplexe Abfragen aufteilen — wenn eine Abfrage auch nach der Formatierung schwer zu lesen ist, teilen Sie sie in CTEs (Common Table Expressions) oder Views auf. Formatierung kann eine grundlegend komplexe Logik nicht beheben.
- Syntaxhervorhebung prüfen — ein guter Formatierer bietet farbige Hervorhebung, die Schlüsselwörter, Strings und Zahlen optisch unterscheidet, was beim Auffinden von Tippfehlern hilft.
Häufig gestellte Fragen
Sollten SQL-Schlüsselwörter großgeschrieben werden?
Es ist eine weit verbreitete Konvention, SQL-Schlüsselwörter (SELECT, FROM, WHERE) groß und Tabellen- oder Spaltennamen klein zu schreiben. Damit lassen sich Abfragen visuell schneller erfassen. Die meisten Style-Guides empfehlen das, doch keine Datenbank-Engine erzwingt es.
Verändert das Formatieren die Ausführung der Abfrage?
Nein. Leerräume und Einrückung haben keinen Einfluss auf die SQL-Ausführung. Das Formatieren dient ausschließlich der menschlichen Lesbarkeit. Eine minimierte und eine schön eingerückte Abfrage liefern dasselbe Ergebnis.
Welche Einrückungsgröße soll ich verwenden?
Zwei oder vier Leerzeichen sind beide üblich. Wählen Sie, was Ihr Team verwendet, und bleiben Sie konsistent. Die meisten SQL-Formatter lassen das konfigurieren.
Wird mein SQL an einen Server gesendet?
Nein. Die Formatierung erfolgt vollständig in Ihrem Browser. Ihre Abfragen verlassen Ihr Gerät nie.