Menu

SQL-Formatter

SQL-Abfragen mit smarter Einrückung verschönern.

Zuletzt aktualisiert

Schlüsselwörter
Einrückung
EingabeSQL einfügen, um zu beginnen
Ausgabe
Formatiertes SQL erscheint hier — neu einrücken, ausrichten und mit einem Klick kopieren.

Was ist ein SQL-Formatter?

Ein SQL-Formatter nimmt zusammengequetschtes, einzeiliges oder automatisch generiertes SQL und schreibt es mit konsistenter Einrückung und Zeilenumbrüchen neu. Entwicklerinnen und Analystinnen greifen darauf zurück, wenn sie Joins prüfen, Filter debuggen, ORM-Output aufräumen, Queries in Tickets oder in der Doku teilen oder einen Query-Plan Schritt für Schritt durchgehen wollen.

Formatieren ändert nicht, *was* eine Query tut — sondern nur, wie leicht ein Mensch sie liest. Mit konsistentem Layout wird das Zusammenspiel von SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING und ORDER BY sofort klar — gerade bei Queries, in denen Subqueries und CTEs miteinander verschachtelt sind.

SQL hat viele *Dialekte* — PostgreSQL, MySQL, SQLite, T-SQL (Microsoft SQL Server), Oracle und BigQuery erweitern den Standard jeweils um ihre eigene Syntax. Ein guter Formatter kennt den Dialekt, den du auswählst, und zerschießt dir keine herstellerspezifische Syntax.

Was du beim Formatieren von SQL nebenbei lernst

  • SQL-Klauseln haben klar abgegrenzte Aufgaben: SELECT wählt Spalten, FROM wählt Tabellen, WHERE filtert Zeilen, GROUP BY aggregiert, und ORDER BY sortiert.
  • Eine lesbare Einrückung legt verschachtelte Queries, Joins und Bedingungen offen, die in einer einzeiligen Query schlicht unsichtbar sind.
  • Der Dialekt ist entscheidend — RETURNING, LIMIT, TOP und Bezeichner in eckigen Klammern ([col] vs. "col") lassen sich nicht 1:1 zwischen Datenbanken portieren.

SQL-Query Schritt für Schritt formatieren

  1. Query einfügen

    Pack dein SQL ins Eingabefeld. Egal ob einzeilig, vom ORM generiert oder schon halb formatiert — alles funktioniert.

  2. Dialekt auswählen

    Wähle PostgreSQL, MySQL, SQLite oder T-SQL, damit der Formatter herstellerspezifische Schlüsselwörter wie LIMIT, TOP oder RETURNING korrekt behandelt.

  3. Stil festlegen

    Stelle die Schreibweise der Schlüsselwörter (üblich: GROSSBUCHSTABEN) und die Einrücktiefe (2 oder 4 Leerzeichen) ein. Die meisten Teams fahren mit Großbuchstaben + 2 Leerzeichen.

  4. Formatierte Ausgabe lesen

    Jede Klausel steht in einer eigenen Zeile, Joins sind ausgerichtet, Subqueries sind eingerückt. Kommentare bleiben erhalten.

  5. Zurück ins Projekt kopieren

    Füge die formatierte Query in deine Migration, deine ORM-Raw-Query oder dein BI-Tool ein. Alles läuft komplett in deinem Browser.

SQL-Klauseln – Schnellreferenz

Die Klauseln, die du in 95 % aller SELECT-Queries siehst, in der Reihenfolge, in der sie konzeptionell verarbeitet werden. Hersteller-Doku: PostgreSQL SELECT, MySQL SELECT.

KlauselZweckBeispiel
SELECTBestimmt, welche Spalten/Ausdrücke zurückkommenSELECT id, name
FROMWählt die Quelltabelle(n)FROM users
JOIN ... ONVerknüpft Zeilen aus einer weiteren TabelleJOIN orders ON orders.user_id = users.id
WHEREFiltert Zeilen vor der GruppierungWHERE active = true
GROUP BYFasst Zeilen mit gleichen Werten zusammenGROUP BY country
HAVINGFiltert nach der AggregationHAVING COUNT(*) > 10
ORDER BYSortiert die ErgebnismengeORDER BY created_at DESC
LIMIT / OFFSETPaginiert das ErgebnisLIMIT 20 OFFSET 40
WITH ... ASCommon Table Expression (CTE) — gibt einer Subquery einen NamenWITH active AS (...)

SQL-Beispiele zum Ausprobieren

Eine einfache Query formatieren

Eingabe
select id,name from users where active=true order by created_at desc limit 10
Formatiert
SELECT  id,  nameFROM usersWHERE active = trueORDER BY created_at DESCLIMIT 10;

Jede Klausel steht jetzt in einer eigenen Zeile, die Spaltenliste ist eingerückt. Im Code Review wird diese Query damit auf einen Schlag 10× angenehmer zu lesen.

Einen Join nachvollziehen

Eingabe
select u.name,o.total from users u join orders o on o.user_id=u.id where o.total>100
Formatiert
SELECT  u.name,  o.totalFROM users uJOIN orders o ON o.user_id = u.idWHERE o.total > 100;

Tabellen-Aliase (users u, orders o) halten die Spaltenliste kurz. Die Zeile JOIN ... ON macht die Beziehung zwischen den Tabellen explizit sichtbar.

Eine verschachtelte Subquery lesen

Eingabe
select * from users where id in (select user_id from enrollments where course_id=5)
Formatiert
SELECT *FROM usersWHERE id IN (  SELECT user_id  FROM enrollments  WHERE course_id = 5);

Durch das Einrücken der inneren Query wird die Abhängigkeit klar erkennbar. Sobald die Struktur sichtbar ist, lassen sich viele Subqueries auch als JOIN oder CTE umschreiben.

Typische Fehler beim SQL-Formatieren

  • Anzunehmen, formatiertes SQL sei automatisch *korrektes* SQL. Formatieren ändert das Layout, nicht die Semantik — eine sauber aussehende Query kann trotzdem das falsche Ergebnis liefern.
  • Die Query beim Formatieren noch schnell anpassen und danach vergessen, das Ergebnis erneut zu testen.
  • Den Dialekt ignorieren — LIMIT 10 in PostgreSQL, TOP 10 in T-SQL und FETCH FIRST 10 ROWS ONLY im SQL-Standard machen alle dasselbe, sind aber nicht austauschbar.

FAQ zum SQL-Formatter

Verändert das Formatieren das Abfrageergebnis?
Nein. Formatieren ändert nur Whitespace und Groß-/Kleinschreibung. Die Datenbank parst beide Varianten zum gleichen Query-Plan, die zurückgegebenen Zeilen sind identisch.
Warum sollte man SQL überhaupt formatieren?
Lesbares SQL lässt sich leichter debuggen, im Code Review besprechen, erklären und warten — vor allem, wenn die Query mehrere Joins, Subqueries, CTEs oder Window Functions enthält.
Was ist ein SQL-Dialekt?
Ein SQL-Dialekt ist eine datenbankspezifische Erweiterung des SQL-Standards. PostgreSQL, MySQL, SQLite, T-SQL (SQL Server), Oracle und BigQuery bringen jeweils eigene Syntax mit, die über den Standard hinausgeht.
Kann ein SQL-Formatter kaputte Queries reparieren?
Ein Formatter kann Syntaxprobleme sichtbar machen, weil er die Query strukturiert neu ausgibt. Er kennt aber dein Schema nicht und kann auch nicht garantieren, dass die Query logisch korrekt ist.
Soll ich SQL-Schlüsselwörter großschreiben?
Die meisten Style Guides empfehlen Schlüsselwörter in Großbuchstaben (SELECT, FROM, WHERE) und Bezeichner in Kleinbuchstaben, weil der visuelle Kontrast die Struktur der Query hervorhebt. Wichtig ist vor allem: einen Stil wählen und konsequent dabei bleiben.

Mehr erfahren

Weitere Entwickler-Tools

Lerne mit Coddy zu programmieren

LOS GEHT'S