Skip to main content

Errors Can Be Helpful: A Guide to Understanding SQL Mistakes (DE)

Fehler können hilfreich sein: Ein Leitfaden zum Verständnis von SQL-Fehlern

Ira Kamshov avatar
Written by Ira Kamshov
Updated over 9 months ago

Fehlermeldungen Enthalten Wichtige Informationen


Fehler in SQL sind nicht nur Probleme; sie geben uns Hinweise darauf, was schiefgelaufen ist. Fehlermeldungen informieren über die Art des Fehlers, wo er aufgetreten ist und manchmal sogar, wie man ihn beheben kann. Wenn du diese Meldungen verstehst, wirst du ein besserer SQL-Anwender.


Level 1: Grundlegende Fehler („Syntaxfehler“)

1. Rechtschreibfehler

Genau wie in der normalen Sprache ist die richtige Schreibweise in SQL wichtig. Wenn du einen Befehl falsch schreibst, funktioniert deine Abfrage nicht.

Beispiel für einen Fehler: Falsche Schreibweise von SELECT

Korrekte Version:

SELECT * FROM users;

2. Falsch platzierte oder fehlerhafte Satzzeichen

Satzzeichen wie Kommas und Klammern spielen eine wichtige Rolle in der SQL-Syntax. Wenn sie falsch gesetzt oder vergessen werden, kann dies zu Fehlern führen. Ebenso kann die falsche Verwendung von Anführungszeichen oder das Fehlen wichtiger Schlüsselwörter wie FROM oder WHERE zu Problemen führen.

Falsch: -- Fehlende schließende Klammer

Im obigen Beispiel zeigt die Fehlermeldung möglicherweise ein Problem in der Nähe von FROM an, aber das eigentliche Problem ist die fehlende schließende Klammer davor. Beim Debuggen solltest du nicht nur die genaue Position des Fehlers überprüfen, sondern auch den umgebenden Code.

Korrekt:

SELECT (cost + retail_price) * 1.2 FROM products;

3. Falsch geschriebene Namen

Die in der Abfrage verwendeten Namen müssen genau mit den Namen in der Datenbank übereinstimmen. Ein Tippfehler bei einem Tabellen- oder Spaltennamen führt dazu, dass die Abfrage nicht funktioniert.

Falsch: Der tatsächliche Spaltenname ist order_item_id

Korrekt:

SELECT order_item_id FROM order_items WHERE returned_at BETWEEN '2023-06-01' AND '2023-06-30';

Level 2: Logische Fehler („Fehler in der Abfrage-Struktur“)

Auch wenn deine Abfrage syntaktisch korrekt ist, können logische Fehler auftreten.

1. Fehlendes GROUP BY in Aggregationen

Wenn du Funktionen wie SUM(), COUNT(), oder AVG() verwendest, muss jede nicht aggregierte Spalte in der GROUP BY-Klausel enthalten sein.

Falsch:

Korrekt:

SELECT order_id, COUNT(order_item_id) FROM order_items GROUP BY order_id;

2. Division durch Null

Eine Division durch Null führt zu einem Fehler. Daher solltest du immer prüfen, ob der Nenner Null ist, bevor du eine Division ausführst.

Korrekt:

SELECT price / NULLIF(discount, 0) FROM products;
Did this answer your question?