SQL WHERE
WHERE ist die Filterbedingung in SQL - das IF der Datenbankabfragen.
Mit WHERE werden Zeilen nach bestimmten Kriterien gefiltert.
WHERE-Ablauf:
Alle Zeilen Gefilterte Zeilen
┌────┬──────┐ ┌────┬──────┐
│ 1 │ Max │ ─┐ │ 3 │ Tom │
│ 2 │ Anna │ │ WHERE └────┴──────┘
│ 3 │ Tom │ ─┘ id > 2
│ 4 │ Lisa │ ─┐
└────┴──────┘ │
▼
┌────┬──────┐
│ 3 │ Tom │
│ 4 │ Lisa │
└────┴──────┘
Visuelle Darstellung:
SELECT * WHERE Filter
FROM Schueler
│ │
▼ ▼
┌────┬─────────┬───────┐ ┌──────────┐
│ ID │ Name │ Alter │ │ Alter>=18│
├────┼─────────┼───────┤ └────┬─────┘
│ 1 │ Max │ 17 │ ───────┼───── ✗ raus
│ 2 │ Anna │ 19 │ ───────┼───── ✓ durch
│ 3 │ Tom │ 16 │ ───────┼───── ✗ raus
│ 4 │ Lisa │ 20 │ ───────┼───── ✓ durch
└────┴─────────┴───────┘ │
▼
┌────┬─────────┬───────┐
│ 2 │ Anna │ 19 │
│ 4 │ Lisa │ 20 │
└────┴─────────┴───────┘
Kunden
| kunden_id | vorname | nachname | |
|---|---|---|---|
| 1 | Alice | Meier | [email protected] |
| 2 | Bob | Schmidt | [email protected] |
Produkte
| produkt_id | produkt_name | preis |
|---|---|---|
| 1 | Laptop | 899.99 |
| 2 | Smartphone | 499.99 |
| 3 | Tablet | 299.99 |
Bestellungen
| bestellung_id | kunden_id | bestell_datum |
|---|---|---|
| 1 | 1 | 2024-10-10 |
| 2 | 2 | 2024-10-11 |
Bestellpositionen
| bestellposition_id | bestellung_id | produkt_id | menge |
|---|---|---|---|
| 1 | 1 | 1 | 1 |
| 2 | 2 | 2 | 2 |
| 3 | 2 | 3 | 1 |
SELECT *
FROM Bestellpositionen
WHERE produkt_id = 2;
Ergebnis
| bestellposition_id | bestellung_id | produkt_id | menge |
|---|---|---|---|
| 2 | 2 | 2 | 2 |