💡 1. Die WHERE-Klausel & Vergleichsoperatoren
Mit der WHERE-Klausel werden nur die Zeilen aus einer Tabelle zurückgegeben, die eine definierte Bedingung erfüllen:
SELECT spalte1, spalte2
FROM tabellen_name
WHERE bedingung;
Häufige Vergleichsoperatoren:
| Operator | Bedeutung | Beispiel |
|---|---|---|
= |
Gleichheit | WHERE kategorie = 'Elektronik' |
!= oder <> |
Ungleichheit | WHERE status != 'inaktiv' |
>, <, >=, <= |
Größer / Kleiner (oder gleich) | WHERE preis >= 99.99 |
🔀 2. Boolesche Logik (AND, OR, NOT), BETWEEN & IN
Kombiniere mehrere Bedingungen logisch miteinander:
-- AND: Beide Bedingungen müssen zutreffen
SELECT * FROM shop_artikel WHERE kategorie = 'Elektronik' AND preis > 100.0;
-- OR: Mindestens eine Bedingung muss wahr sein
SELECT * FROM shop_artikel WHERE kategorie = 'Audio' OR kategorie = 'Zubehör';
-- BETWEEN: Wertebereich inklusive Grenzwerte [min, max]
SELECT * FROM shop_artikel WHERE preis BETWEEN 20.0 AND 150.0;
-- IN: Prüft, ob der Wert in einer Liste von Möglichkeiten enthalten ist
SELECT * FROM shop_artikel WHERE kategorie IN ('Audio', 'Zubehör', 'Gaming');
Stell dir die WHERE-Klausel wie ein Sieb vor. Mit AND machst du die Maschen enger (weniger Zeilen passieren), während OR ein zweites Auffangbecken daneben stellt (mehr Zeilen kommen durch). IN (...) ist wie eine VIP-Gästeliste: Wer auf der Liste steht, darf rein!
🔍 3. Textmustersuche mit LIKE & Nullwerte (IS NULL)
Mit LIKE suchst du nach Mustern in Textspalten unter Verwendung von Wildcards:
%: Beliebig viele Zeichen (0, 1 oder viele)._: Exakt 1 beliebiges Zeichen.
-- Beginnt mit 'Smart' (z.B. Smartphone, Smartwatch)
SELECT * FROM shop_artikel WHERE titel LIKE 'Smart%';
-- Enthält 'Pro' an beliebiger Stelle (z.B. Laptop Pro, AirPods Pro Max)
SELECT * FROM shop_artikel WHERE titel LIKE '%Pro%';
= NULL verwenden!NULL bedeutet in SQL "unbekannt" oder "nicht vorhanden". Da Unbekanntes mit nichts verglichen werden kann, liefert spalte = NULL immer UNKNOWN / FALSE. Verwende stattdessen zwingend:
WHERE rabatt_code IS NULL bzw. WHERE rabatt_code IS NOT NULL
📑 4. Cheat-Sheet: SQL Filter-Operatoren
| Operator | Syntax-Beispiel | Beschreibung |
|---|---|---|
AND / OR |
WHERE a = 1 AND b = 2 |
Logische Verknüpfung von Bedingungen |
NOT |
WHERE NOT (kategorie = 'Möbel') |
Negiert das Testergebnis |
BETWEEN a AND b |
WHERE alter BETWEEN 18 AND 30 |
Inklusiver Wertebereichsvergleich |
IN (w1, w2, ...) |
WHERE status IN ('neu', 'offen') |
Mengenprüfung gegen Werteliste |
LIKE '%str%' |
WHERE name LIKE '%GmbH' |
Mustervergleich mit Wildcards |
IS NULL / IS NOT NULL |
WHERE telefon IS NULL |
Sichere Prüfung auf Nullwerte |