CodeGym /Kurse /SQL SELF /Daten filtern mit Vergleichsoperatoren (=, >, <, &l...

Daten filtern mit Vergleichsoperatoren (=, >, <, <>)

SQL SELF
Level 2 , Lektion 1
Verfügbar

Also, wir wissen schon, wie man das SELECT-Kommando benutzt. Zumindest haben wir gelernt, wie man Daten aus einer Datenbank holt, die gewünschten Spalten auswählt und Abfragen schreibt, die rohe Daten in nützliche Infos verwandeln. Jetzt ist es Zeit, ein bisschen "Filter" in unsere magische Palette zu bringen. Genau, heute geht’s um Daten filtern mit Vergleichsoperatoren wie =, >, < und <>.

Wenn du mit großen Tabellen arbeitest, willst du wahrscheinlich nicht alle Daten sehen (außer du stehst auf Chaos). Um nur die Zeilen zu bekommen, die du brauchst, gibt’s in SQL das Schlüsselwort WHERE. Damit kannst du Bedingungen festlegen, die jede Zeile erfüllen muss, um ins Ergebnis der Abfrage zu kommen. Für diese Bedingungen nutzt man Vergleichsoperatoren.

Syntax fürs Filtern mit WHERE

SELECT spalte1, spalte2
FROM tabelle
WHERE bedingung;

Ganz easy: Wir packen das Wort WHERE nach dem FROM und schreiben die konkrete Bedingung, die die Zeilen erfüllen sollen.

Als Beispiel schauen wir uns das Auslesen von Daten aus der Tabelle students an:

SELECT name, age
FROM students
WHERE age > 18;

Diese Abfrage holt nur die Studenten (Name und Alter), die älter als 18 sind. Ziemlich simpel, oder? Jetzt tauchen wir tiefer in die Welt der Vergleichsoperatoren ein.

Die wichtigsten Vergleichsoperatoren

In SQL gibt’s ein paar Vergleichsoperatoren, mit denen du die Daten so filtern kannst, wie du willst. Eigentlich kennst du die schon aus Mathe, aber lass uns kurz klären, was wie funktioniert. Hier die meistgenutzten:

  1. = — Gleich.
  2. <> — Ungleich (Alternative: != in manchen DBMS, aber <> ist SQL-Standard).
  3. > — Größer.
  4. < — Kleiner.
  5. >= — Größer oder gleich.
  6. <= — Kleiner oder gleich.

Vergleichsoperatoren-Tabelle

Operator Bedeutung Beispiel Ergebnis
= Gleich age = 20 Gibt Zeilen zurück, wo das Alter 20 ist
<> Ungleich age <> 20 Gibt Zeilen zurück, wo das Alter nicht 20 ist
> Größer age > 18 Gibt Zeilen zurück, wo das Alter größer als 18 ist
< Kleiner age < 18 Gibt Zeilen zurück, wo das Alter kleiner als 18 ist
>= Größer oder gleich age >= 18 Gibt Zeilen zurück, wo das Alter 18 oder mehr ist
<= Kleiner oder gleich age <= 18 Gibt Zeilen zurück, wo das Alter 18 oder weniger ist

Beispiele für die Verwendung von Vergleichsoperatoren

Beispiel 1: Studenten über 20 Jahre auslesen

Hier ist unsere Tabelle:

id name age
1 Alex Lin 22
2 Anna Song 19
3 Otto Art 21
SELECT name, age
FROM students
WHERE age > 20;

Hier setzen wir die Bedingung age > 20, um nur die Studenten zu bekommen, die älter als 20 sind. Wenn in der Tabelle jemand mit 19 steht, sorry, der kommt nicht ins Ergebnis.

In unserem Fall bekommen wir dieses Ergebnis:

name age
Alex Lin 22
Otto Art 21

Studentin Anna Song ist nicht dabei, weil sie erst 19 ist.

Beispiel 2: Mitarbeiter mit Gehalt mindestens 50.000 auslesen

Hier ist unsere Tabelle employees:

first_name last_name salary
Julia Kim 48000
Marcus Lee 52000
Anya Patel 50000
Ethan Zhou 61000

Und hier unser SQL-Query:

SELECT first_name, last_name, salary
FROM employees
WHERE salary >= 50000;

Diese Abfrage gibt alle Mitarbeiter zurück, deren Gehalt gleich 50.000 oder mehr ist. Gleich zählt auch!

first_name last_name salary
Marcus Lee 52000
Anya Patel 50000
Ethan Zhou 61000

Beispiel 3: Produkte mit Preis unter 100 auslesen

product_name price
USB Cable 85
Wireless Mouse 150
Notebook 60
Mechanical Pencil 45
SELECT product_name, price
FROM products
WHERE price < 100;

Wenn du einen Online-Shop hast, kannst du mit so einer Abfrage alle Produkte raussuchen, die weniger als 100 kosten (zum Beispiel für eine Aktion "Alles für 99!").

product_name price
USB Cable 85
Notebook 60
Mechanical Pencil 45

Beispiel 4: Nutzer mit bestimmtem id ausschließen

SELECT id, username
FROM users
WHERE id <> 1;

Diese Abfrage holt alle Nutzer, außer dem mit id gleich 1. Der Operator <> heißt: "Gib mir alle, die nicht diesen Wert haben".

Tabelle users:

id username
1 admin
2 elena.gray
3 tom.bishop
4 aria.noble

Ergebnis der Abfrage:

id username
2 elena.gray
3 tom.bishop
4 aria.noble

Typische Fehler beim Filtern mit Vergleichsoperatoren

Gerade am Anfang passieren beim Schreiben von Abfragen mit Filtern oft Fehler. Hier ein paar typische Fälle, die du kennen solltest:

Problem 1: Fehler im Spaltennamen

Wenn du einen Spaltennamen falsch schreibst, gibt PostgreSQL einen Fehler aus. Zum Beispiel:

SELECT name, age
FROM students
WHERE ages > 18; -- Fehler: Spalte "ages" existiert nicht

Check immer die genauen Spaltennamen, bevor du die Abfrage schreibst.

Problem 2: Falsche Verwendung des Vergleichsoperators

Manchmal vertauschen Anfänger versehentlich Operatoren. Zum Beispiel:

SELECT name, age
FROM students
WHERE age => 18; -- Fehler: falscher Operator

Richtig ist >=, nicht =>.

Problem 3: Filtern nach Werten, die es nicht gibt

Wenn du nach einem Wert filterst, der in der Tabelle nicht vorkommt, läuft die Abfrage zwar, gibt aber ein leeres Ergebnis zurück. Zum Beispiel:

SELECT name
FROM students
WHERE age = 999; -- Ergebnis: 0 Zeilen

Das ist kein Syntaxfehler, kann aber verwirren, wenn du Daten erwartest.

Praktische Anwendung

Das Filtern von Daten mit Vergleichsoperatoren wird in vielen Szenarien genutzt:

  • Datenanalyse: Zum Beispiel, um alle Kunden zu finden, die mehr als 10.000 Rupien ausgegeben haben.
  • Berichte: Mitarbeiter mit Gehalt über dem Durchschnitt auswählen.
  • Monitoring: Nutzer tracken, die im letzten Monat nicht aktiv waren.

Mit SQL kannst du super schnell die Daten aus riesigen Tabellen holen, die du brauchst – und Vergleichsoperatoren sind der erste Schritt auf diesem Weg.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION