CodeGym /Kurse /SQL SELF /Typische Fehler bei der Verwendung von SELECT

Typische Fehler bei der Verwendung von SELECT

SQL SELF
Level 3 , Lektion 3
Verfügbar

Wie in jedem anderen Bereich der Programmierung sind Fehler bei SELECT einfach unvermeidlich. Selbst die erfahrensten Entwickler bauen manchmal Bugs in ihre SQL-Queries ein. Heute schauen wir uns typische Fehler bei der Verwendung von SELECT an, warum sie passieren und wie man sie vermeidet.

SQL ist eine Sprache, die sich strikt an Syntax-Regeln hält. Eine vergessene oder zu viel gesetzte Komma, ein fehlender Operator oder die falsche Reihenfolge der Wörter – und die Datenbank hebt sofort die "rote Flagge".

Vergessene Schlüsselwörter

Der häufigste Fehler ist einfach, eines der notwendigen Schlüsselwörter zu vergessen. Zum Beispiel versuchen wir, folgenden Befehl auszuführen:

SELECT name age FROM students;

Da fehlt doch was, oder? Hier fehlt das Schlüsselwort , zwischen den Feldern name und age. Wir korrigieren den Fehler:

SELECT name, age FROM students;

Der Grund für solche Fehler ist klar: Du lernst entweder gerade erst, wie man Queries schreibt, oder du bist einfach zu schnell unterwegs. SQL mag keine Hektik!

Fehler in Spalten- und Tabellennamen

SQL-Commands sind empfindlich gegenüber den richtigen Namen von Spalten und Tabellen. Probieren wir mal diese Query:

SELECT naem, agge FROM studnts;

Die Datenbank schaut dich dann nur fragend an: Die Spalten naem und agge sowie die Tabelle studnts gibt es einfach nicht. Wir korrigieren das:

SELECT name, age FROM students;

Tipp: Wenn du dir bei den Namen nicht sicher bist, nutze den Befehl \d table_name in psql oder das pgAdmin-Interface, um die Struktur der Tabelle zu checken.

Vergessene Anführungszeichen

Spalten- und Tabellennamen, die Leerzeichen oder andere Sonderzeichen enthalten, müssen in doppelte Anführungszeichen gesetzt werden. Beispiel:

SELECT "first name", age FROM students;

Wenn du die Anführungszeichen vergisst, versteht SQL nicht, was du meinst, und gibt einen Fehler aus.

Logische Fehler: Wenn alles läuft, aber nicht wie erwartet

Manchmal laufen Queries durch, aber das Ergebnis ist irgendwie "komisch". Das sind logische Fehler. Die sind besonders fies, weil die Datenbank dir nicht sagt, dass etwas schiefgelaufen ist.

  1. Falsche Verwendung von Vergleichsoperatoren. Stell dir vor, du willst alle Studenten auswählen, die älter als 18 sind:
SELECT * FROM students WHERE age > 18;

Jetzt probieren wir die Query mit einem anderen Operator:

SELECT * FROM students WHERE age = 18;

Diese Query gibt nur die zurück, die genau 18 Jahre alt sind. Wenn du eigentlich alle über 18 wolltest, ist das ein logischer Fehler.

Tipp: Check solche Details genau. Wenn du unsicher bist, fang mit kleinen Abfragen an (zum Beispiel mit LIMIT).

Fehler beim Kombinieren von Bedingungen

Schauen wir uns ein Beispiel an:

SELECT * FROM students WHERE age > 18 OR grade = 'A' AND city = 'New York';

Diese Query gibt vielleicht auch Studenten zurück, die gar nicht in New York wohnen. Warum? Weil die Reihenfolge der logischen Operatoren so ist: SQL verarbeitet erst AND, dann OR. Wir schreiben die Query mit Klammern um:

SELECT * FROM students WHERE (age > 18 OR grade = 'A') AND city = 'New York';

Jetzt passt alles.

Fehlende Filter

Manchmal gibt eine Query wie SELECT * FROM students; riesige Datenmengen zurück, obwohl du eigentlich nur Studenten aus einer bestimmten Stadt gesucht hast. Die Lösung? Füge Filter mit WHERE hinzu:

SELECT * FROM students WHERE city = 'New York';

Performance-Probleme

Wenn Queries mit großen Datenmengen arbeiten, wird es superwichtig, sie zu optimieren. Schauen wir uns typische Fehler an, die die Performance runterziehen.

Queries wie SELECT * sind während der Entwicklung praktisch, aber im echten Leben killen sie die Performance. Wenn du nur bestimmte Spalten brauchst – gib sie explizit an.

-- Schlecht:
SELECT * FROM students;

-- Gut:
SELECT name, age FROM students;

Warum ist das wichtig? SELECT * holt alle Spalten, auch wenn du sie gar nicht brauchst. Das erhöht die Menge der übertragenen Daten.

Praxistipps: Wie du Fehler vermeidest

SQL-Queries werden robuster, wenn du ein paar Empfehlungen beachtest:

  • Check den Syntax vor dem Ausführen: Nutze eine IDE oder die Vorschläge von pgAdmin, die dich frühzeitig auf Fehler hinweisen können.
  • Starte mit kleinen Abfragen. Füge LIMIT 5 oder LIMIT 10 zum Testen hinzu.
  • Nutze Kommentare, damit du verstehst, was die Query macht:
    -- Alle Studenten über 18 Jahre holen
    SELECT name, age FROM students WHERE age > 18;
    
  • Teste mit verschiedenen Daten, um die Logik zu prüfen.
  • Übertreib es nicht mit SELECT *, vor allem bei großen Tabellen.

Fallen im Vorstellungsgespräch

Eine der beliebten Aufgaben bei SQL-Interviews ist es, Fehler in einer Query zu finden. Zum Beispiel:

SELECT name FROM employees WHERE salary > 50000 ORDER BY department;

Frag dich: Ist diese Query logisch korrekt? Wenn ORDER BY benutzt wird, sollte wahrscheinlich nach Gehalt sortiert werden:

SELECT name FROM employees WHERE salary > 50000 ORDER BY salary DESC;

Mit SELECT zu arbeiten ist das A und O von SQL, und Fehler sind am Anfang einfach normal. Aber mit der Zeit schreibst du Queries so locker wie Nachrichten im Messenger – echte Programmierer üben schließlich nicht nur an Katzen, sondern auch an Datenbanken. 😉

1
Umfrage/Quiz
Daten sortieren, Level 3, Lektion 3
Nicht verfügbar
Daten sortieren
Daten sortieren
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION