🗄️ SQL Lehrpfad 1: Grundlagen

SQL 02: Filterung mit WHERE, LIKE & BETWEEN

Lerne die Kunst der präzisen Datenabfrage: Vergleichsoperatoren, boolesche Logik (AND/OR/NOT), Mustersuche und Nullwert-Prüfung.

💡 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');
🚦 Didaktische Analogie: Das Sieb im Fluss

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%';
⚠️ Die NULL-Falle: Niemals = 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

🎯 Aufgaben & Checkliste in aufgabe.sql

💻 In Web-IDE öffnen → ← Zurück zu SQL 01 Weiter zu SQL 03 →