Zurück zur Artikelliste Artikel
8 Leseminuten

5 winzige SQL-Tricks, mit denen Sie wie ein Profi aussehen

Möchten Sie, dass Ihr SQL sauberer aussieht und professioneller wirkt? Diese fünf kleinen, aber wirkungsvollen Tricks werden Ihnen helfen, Abfragen zu schreiben, die leichter zu lesen, zu debuggen und weiterzugeben sind.

Sie haben ein paar SQL-Abfragen geschrieben, einige Tabellen verbunden und vielleicht sogar einen kleinen Bericht erstellt. Aber Ihre Abfragen fühlen sich immer noch ein bisschen... klobig an.

Die Wahrheit ist, dass der Unterschied zwischen "die Arbeit erledigen" und "wie ein Profi aussehen" oft auf eine Handvoll kleiner Gewohnheiten zurückzuführen ist - die Art, die Ihren Code leichter lesbar, wartbar und mit anderen teilbar macht.

In diesem Artikel stellen wir Ihnen fünf kleine SQL-Tricks vor, mit denen Sie Ihre Abfragen im Handumdrehen aufwerten können. Sie sind einfach, praktisch und lassen Sie im Umgang mit SQL viel sicherer aussehen.

Wenn Sie sich über die schnellen Tipps hinaus weiter verbessern wollen, schauen Sie sich unseren SQL-Praxis Track. Er ist vollgepackt mit praktischen Übungen, die Ihnen helfen, die Theorie hinter sich zu lassen und saubereres, effektiveres SQL zu schreiben - genau die Art von Fähigkeiten, auf denen diese Tricks aufbauen.

Kommen wir nun zu den fünf Gewohnheiten, die Ihr SQL noch ausgefeilter und professioneller machen.

1. Richten Sie Ihren Code ein!

Es klingt langweilig. Es fühlt sich offensichtlich an. Aber eine gute Einrückung ist das erste, was eine schlampige Abfrage von einer professionellen Abfrage unterscheidet.

Wenn Ihr SQL-Code richtig eingerückt ist, ist er leichter zu lesen, zu debuggen und zu verstehen - nicht nur für Ihre Teamkollegen, sondern auch für Sie, wenn Sie die Abfrage Wochen später erneut aufrufen. Schlecht formatiertes SQL führt oft zu Fehlern, übersehenen Bedingungen oder stundenlangem Überfliegen von Textbergen.

Das sehen wir oft bei Anfängern:

SELECT name, email, total FROM customers JOIN orders ON customers.id=orders.customer_id WHERE total>100;

Schauen Sie sich jetzt dieselbe Abfrage mit einheitlicher Einrückung an:

SELECT name,
       email,
       total
FROM customers
JOIN orders ON customers.id = orders.customer_id
WHERE total > 100;

Dieselbe Abfrage, völlig andere Erfahrung. Sie können sofort die ausgewählten Spalten, die Verknüpfung und die Filterbedingungen erkennen. Das Hinzufügen oder Entfernen einer Spalte oder Bedingung bereitet keine Kopfschmerzen mehr.

Ein paar Zeilenumbrüche und Leerzeichen sorgen dafür, dass Ihre Abfrage klar und professionell aussieht. Eine kleine Angewohnheit, die sich jedes Mal auszahlt, wenn Sie SQL schreiben.

2. Führendes Komma

Ich will ehrlich sein: Ich mag diesen Stil nicht. Aber ich kann nicht leugnen, wie nützlich sie ist.

Ein führendes Komma bedeutet, dass Sie jede neue Spalte in Ihrer SELECT Liste mit einem Komma beginnen, anstatt die vorherige Zeile mit einem Komma abzuschließen. Der Hauptvorteil? Es ist viel einfacher, Spalten auszukommentieren, ohne die Abfrage zu unterbrechen.

Hier ist der übliche Weg:

SELECT name,
       email,
       total
FROM customers;

Hier ist der Stil mit dem führenden Komma:

SELECT name
     , email
     , total
FROM customers;

Wenn Sie E-Mails auskommentieren wollen, tun Sie das einfach:

SELECT name
     -- , email
     , total
FROM customers;

Sie müssen sich keine Gedanken über das Entfernen von Kommas oder die Korrektur von Syntaxfehlern machen.

Sie werden oft sehen, dass erfahrene SQL-Profis diesen Stil verwenden - nicht, weil es schöner aussieht, sondern weil es beim Bearbeiten oder Debuggen von Abfragen Zeit spart.

3. Beginnen Sie Ihre Filter mit WHERE 1 = 1

Dieser Trick ist im gleichen Sinne wie das führende Komma. Er ändert nicht, was Ihre Abfrage tut, aber er macht das Bearbeiten und Debuggen Ihrer Filter viel einfacher.

Die Idee ist, dass Sie Ihre WHERE Klausel mit einer Bedingung beginnen, die immer wahr ist (1 = 1). Auf diese Weise beginnt jede echte Bedingung mit AND, und Sie können sie auskommentieren, ohne die Abfrage zu verändern.

Hier ist die übliche Vorgehensweise:

SELECT *
FROM orders
WHERE order_date >= '2024-01-01'
  AND status = 'Shipped';

Hier ist der Ansatz WHERE 1 = 1:

SELECT *
FROM orders
WHERE 1 = 1
  AND order_date >= '2024-01-01'
  AND status = 'Shipped';

Wenn Sie nun ohne den Statusfilter testen oder debuggen müssen, können Sie ihn einfach auskommentieren:

SELECT *
FROM orders
WHERE 1 = 1
  AND order_date >= '2024-01-01'
  -- AND status = 'Shipped';

Keine Syntaxfehler, kein Gefummel mit ANDs. Es ist ein kleiner Trick, der Ihre Abfrage flexibler macht, während Sie sie erstellen oder testen.

4. CASE verwenden

Dies ist die SQL-Konstruktion, die viele Anfänger nicht kennen - und sie ist ein entscheidender Faktor. Betrachten Sie CASE als die SQL-Version einer IF -Anweisung. Damit können Sie Ihre eigenen Kategorien oder Etiketten direkt in der Abfrage erstellen, ohne Daten nach Excel zu exportieren oder zusätzliche Skripte zu schreiben.

Hier ist ein einfaches Beispiel:

SELECT customer_name,
       CASE
           WHEN points >= 100 THEN 'Gold'
           WHEN points >= 50  THEN 'Silver'
           ELSE 'Bronze'
       END AS loyalty_tier
FROM customers;


Für jede Zeile in der Kundentabelle überprüft SQL den Wert in der Spalte points.

  • Wenn der Punktwert 100 oder mehr beträgt, wird 'Gold' zurückgegeben.
  • Liegt der Wert zwischen 50 und 99, wird 'Silver' zurückgegeben.
  • Andernfalls gibt es 'Bronze' zurück.

Das Ergebnis ist eine neue Spalte (loyalty_tier), die jeden Kunden auf der Grundlage seiner Punkte einer Kategorie zuordnet.

So funktioniert es:

  • CASE Der Ausdruck beginnt.
  • Jede WHEN definiert eine Bedingung.
  • THEN definiert den Wert, der zurückgegeben wird, wenn die Bedingung erfüllt ist.
  • ELSE ist optional - er wird verwendet, wenn keine der Bedingungen zutrifft.
  • END schließt den Ausdruck ab.

Sie können CASE auch in anderen Teilen einer Abfrage verwenden - nicht nur in SELECT. Sie können zum Beispiel Daten auf der Grundlage von Bereichen gruppieren:

SELECT
    CASE
        WHEN total < 100 THEN 'Small'
        WHEN total < 500 THEN 'Medium'
        ELSE 'Large'
    END AS order_size,
    COUNT(*) AS orders_count
FROM orders
GROUP BY
    CASE
        WHEN total < 100 THEN 'Small'
        WHEN total < 500 THEN 'Medium'
        ELSE 'Large'
    END;

Wenn Sie erst einmal gelernt haben, CASE zu verwenden, sind Sie nicht mehr auf externe Tools angewiesen, um eine schnelle Kategorisierung vorzunehmen - und das ist eine der Fähigkeiten, die einen Anfänger von jemandem unterscheidet, der mit SQL wirklich vertraut ist.

Weitere Möglichkeiten, CASE zu verwenden, finden Sie in unseren Artikeln:

Diese einzige Konstruktion macht oft den Unterschied zwischen der einfachen Kenntnis der SQL-Syntax und dem tatsächlichen Denken in SQL aus.

5. COALESCE verwenden

Die Funktion COALESCE ist eines jener überraschend nützlichen Werkzeuge, die viele Anfänger übersehen.
Sie ist einfach, aber mächtig: Sie gibt den ersten Nicht-NULL-Wert in einer Liste von Ausdrücken zurück.

Damit eignet sie sich perfekt für den Umgang mit fehlenden Daten, die Bereitstellung von Ersatzwerten oder das Hinzufügen sinnvoller Standardwerte direkt in Ihrer Abfrage.

Beispiel 1: Fallback-Werte

Wenn Sie mehrere Spalten mit Telefonnummern haben und die erste verfügbare anzeigen möchten:

SELECT customer_id,
       COALESCE(phone_mobile, phone_home, phone_office) AS contact_number
FROM customers;

Hier prüft SQL zuerst phone_mobile. Wenn es NULL ist, versucht es phone_home. Wenn dies auch NULL ist, versucht es phone_office. Die Abfrage gibt immer den ersten Wert zurück, der nichtNULL ist - Sie müssen also keine verschachtelten CASE Anweisungen schreiben.

Beispiel 2: Aussagekräftige Standardwerte

Sie können COALESCE verwenden, um NULLs durch einen Standardwert zu ersetzen, der für Ihren Kontext sinnvoll ist.

Für Textfelder:

SELECT COALESCE(middle_name, '') AS middle_name
FROM customers;

Wenn middle_name NULL ist, gibt die Abfrage stattdessen eine leere Zeichenfolge zurück.

Für numerische Felder:

SELECT product_name,
       price - COALESCE(discount, 0) AS final_price
FROM products;

Wenn discount gleich NULL ist, wird es als Null behandelt, so dass die Berechnung weiterhin ohne Fehler funktioniert.

Beispiel 3: Benutzerfreundliche Hinweise

Sie können damit sogar beschreibende Platzhalter hinzufügen:

SELECT order_id,
       COALESCE(notes, 'No notes') AS order_notes
FROM orders;

Wenn eine Notiz fehlt, zeigt die Abfrage 'No notes' anstelle eines Leerzeichens oder NULL an.

COALESCE ist eine dieser kleinen, aber mächtigen Funktionen, die Ihr SQL sofort robuster und benutzerfreundlicher machen. Wenn Sie sich erst einmal daran gewöhnt haben, werden Sie sie überall einsetzen, um unordentliche Daten aufzuräumen.

Großer Bonus-Trick: CTE verwenden

CTEs (Common Table Expressions) sind nicht gerade ein Einsteigerfeature - aber wenn Sie einmal damit angefangen haben, verändern sie die Art und Weise, wie Sie SQL schreiben.

Mit einem CTE können Sie eine Abfrage in logische Teile zerlegen und jedem Teil einen Namen geben. Dadurch sind komplexe Abfragen leichter zu lesen, zu debuggen und zu pflegen. Anstatt Unterabfragen in Unterabfragen zu stapeln, können Sie Ihre Logik Schritt für Schritt aufbauen.

Hier ist ein einfaches Beispiel:

WITH high_value_orders AS (
    SELECT customer_id, total
    FROM orders
    WHERE total > 1000
)
SELECT customer_id,
       COUNT(*) AS big_orders
FROM high_value_orders
GROUP BY customer_id;

Das passiert folgendermaßen:

  • Die Klausel WITH definiert eine temporäre Ergebnismenge namens high_value_orders.
  • Sie können dann in der Hauptabfrage darauf verweisen, als wäre es eine reguläre Tabelle.
  • Diese Struktur ist viel übersichtlicher als das Schreiben einer langen verschachtelten Abfrage.

Wenn Sie die Definition von high_value_orders ändern müssen, können Sie dies an einer einzigen Stelle tun.

Wenn Sie bereit sind, über einfache Abfragen hinauszugehen, schauen Sie sich unseren Rekursive Abfragen Kurs. Dort werden CTEs eingehend behandelt - einschließlich fortgeschrittener Muster wie hierarchische Abfragen und Rekursion.

CTEs sind ein großer Schritt in Richtung SQL, das nicht nur korrekt, sondern auch elegant und wartbar ist.

Zusammenfassung

Die Tricks, die wir behandelt haben - von der sauberen Einrückung bis zur Verwendung von CASE, COALESCE und sogar CTEs - sind nicht nur clevere Abkürzungen. Es sind Gewohnheiten, die Ihr SQL sauberer, einfacher zu debuggen und viel professioneller machen.

Wenn Sie sie einmal gelernt haben, werden Sie nie wieder zu unübersichtlichen, schwer zu lesenden Abfragen zurückkehren wollen.

Wenn es Ihnen ernst damit ist, SQL zu verbessern, sind diese Tipps nur der Anfang. Der beste Weg, sich weiter zu verbessern, ist das Üben in verschiedenen Themenbereichen und realen Szenarien. Genau dafür gibt es unser Alle für immer SQL-Paket ins Spiel.

Es bietet das beste Preis-Leistungs-Verhältnis: Sie zahlen einmal und erhalten lebenslangen Zugang zu allen aktuellen und zukünftigen Kursen auf LearnSQL.de. Sie können mit praktischen Kursen beginnen wie SQL-Praxis beginnen, um Ihre Kenntnisse zu vertiefen, und dann zu fortgeschritteneren Themen übergehen wie Rekursive Abfragen oder Fensterfunktionen - alles in Ihrem eigenen Tempo.

Durch das Erlernen dieser kleinen, aber wirkungsvollen Techniken wird SQL von einem grundlegenden Werkzeug zu einer echten professionellen Fertigkeit. Warum sollten Sie bei fünf Tricks aufhören, wenn Sie Ihren Werkzeugkasten ein Leben lang erweitern können?