Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Die passenden Zeilen finden

Nach dieser Lektion: Ich kann mit SQL die Zeilen finden, die eine Bedingung erfüllen.

Lektion, 45 Min.Keine Befehle

Was muss noch verschickt werden?

Sie arbeiten seit Montag im Kundenservice von Nordwind Rad, einem kleinen Online-Fahrradladen in Hamburg. Eine Kundin ruft an: Ihr Fahrradschloss ist noch nicht da.

Ihre Teamleiterin fragt: Welche Bestellungen sind bezahlt, aber noch nicht unterwegs? Alle Bestellungen liegen in einer Datenbank. Sie könnten sie einzeln durchlesen. Oder Sie stellen der Datenbank eine kurze Frage.

Am Ende dieser Lektion

Notiz

Ich kann mit SQL die Zeilen finden, die eine Bedingung erfüllen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
TabelleDaten in Zeilen und Spalten
Zeileein Datensatz, zum Beispiel eine Bestellung
Spalteeine Angabe, die jede Zeile hat
Abfrageeine Frage an die Datenbank
Bedingungein Test, den jede Zeile besteht oder nichtstatus = 'bezahlt'
SQLdie Sprache für Fragen an eine Datenbank

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

SELECT nennt die Spalten

Eine Datenbank ordnet ihre Angaben in Tabellen. Der Laden hat eine Tabelle bestellungen. Jede Zeile ist eine Bestellung.

Eine Abfrage beginnt mit SELECT. Danach nennen Sie die gewünschten Spalten, getrennt durch Kommas. FROM sagt, welche Tabelle gelesen wird. Der Stern * steht für alle Spalten. SELECT liest nur. Die Tabelle bleibt unverändert.

Probieren Sie es: Spalten wählen

Code: sql
-- Alle Spalten aller Bestellungen.
SELECT * FROM bestellungen;

-- Nur die zwei Spalten, die das Lager braucht.
SELECT kunde, stadt FROM bestellungen;

WHERE wählt die Zeilen

SELECT wählt Spalten. WHERE wählt Zeilen.

Nach WHERE schreiben Sie eine Bedingung. Die Datenbank prüft jede Zeile damit. Sie behält die Zeilen, die die Bedingung erfüllen, und lässt die anderen weg. So behält WHERE status = 'bezahlt' nur die bezahlten Bestellungen.

Probieren Sie es: nur bezahlte Bestellungen

Code: sql
-- Die Bestellungen, die bezahlt sind.
-- In dieser Datenbank stehen die Status ohne Umlaut und in Kleinbuchstaben.
SELECT id, kunde, betrag FROM bestellungen
WHERE status = 'bezahlt';

-- Ersetzen Sie 'bezahlt' durch 'versendet' und starten Sie noch einmal.

Ein Beispiel Schritt für Schritt: status = 'bezahlt'

BestellungstatusBehalten?
1versendetNein
2bezahltJa
3bezahltJa
4versendetNein
5bezahltJa
6storniertNein
7bezahltJa

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele glauben, WHERE stadt = Hamburg funktioniert. Das stimmt nicht. Text steht in Hochkommas: stadt = 'Hamburg'. Ohne sie sucht die Datenbank eine Spalte namens Hamburg. Zahlen schreiben Sie ohne Hochkommas: betrag > 100.

AND und OR verbinden zwei Tests

Eine echte Frage hat oft zwei Teile. „Bezahlte Bestellungen über 100 Euro“ enthält zwei Tests.

AND behält eine Zeile nur, wenn beide Tests bestanden sind. OR behält sie, wenn mindestens einer bestanden ist. Bei Zahlen heißt > größer als und < kleiner als.

Probieren Sie es: zwei Tests zugleich

Code: sql
-- Bezahlte Bestellungen über 100 Euro.
SELECT id, kunde, betrag FROM bestellungen
WHERE status = 'bezahlt' AND betrag > 100;

-- Bestellungen, die nach Bremen oder nach Lübeck gehen.
SELECT id, kunde, stadt FROM bestellungen
WHERE stadt = 'Bremen' OR stadt = 'Lübeck';

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.