Bedingungen verknüpfen
- AND:beide Teilbedingungen müssen gelten:
Klasse = '10a' AND Punkte >= 60. - OR:mindestens eine muss gelten;
NOTkehrt eine Bedingung um. - Vorrang:
NOTvorANDvorOR— im Zweifel Klammern setzen. - BETWEEN:
Punkte BETWEEN 50 AND 70schließt beide Grenzen ein. - IN:
Klasse IN ('10a', '10b')kürzt mehrere OR-Vergleiche ab. - LIKE:Textmuster:
%steht für beliebig viele Zeichen,_für genau eines —Name LIKE '_i%'passt auf „Dina“ und „Gia“. - IS NULL:findet fehlende Werte;
= NULLfindet nie etwas.
SELECT Name, Punkte
FROM Ergebnis
WHERE (Klasse = '10a' OR Klasse = '10b') AND Punkte >= 60;
Ergebnis sortieren
- ORDER BY:sortiert das Ergebnis nach einem Attribut —
ASCaufsteigend (Standard),DESCabsteigend. - Mehrere Schlüssel:
ORDER BY Klasse, Punkte DESC: erst nach Klasse; nur bei gleicher Klasse entscheidet die Punktzahl. - LIMIT:
LIMIT 3gibt nur die ersten drei Zeilen des sortierten Ergebnisses aus. - Ablauf:
WHEREfiltert zuerst, danach wird sortiert, zuletzt schneidetLIMITab.
Wähle oben eine Abfrage. Ziehe die Karten in die Reihenfolge, in der sie im Ergebnis stehen — alles, was nicht ins Ergebnis kommt, gehört unter die Trennlinie. Tastatur: Leertaste nimmt auf, Pfeiltasten verschieben, Leertaste legt ab.
Halte fest: Die Datenbank filtert zuerst mit WHERE, sortiert dann nach dem ersten Schlüssel und zieht den zweiten nur bei Gleichstand heran. LIMIT greift ganz am Ende.
Abfrage mit Sortierung:
SELECT Attribute
FROM Tabelle
WHERE Bedingung
ORDER BY Attribut1 [ASC|DESC], Attribut2 [ASC|DESC]
LIMIT n;Allgemeine Hinweise
AND vor OR
Klasse = '10a' OR Klasse = '10b' AND Punkte >= 60 filtert die Punkte nur für 10b. Mit Klammern ist klar, was gemeint ist.
LIKE braucht Platzhalter
Name = 'D%' sucht den Namen „D%“ wörtlich. Für Muster immer LIKE verwenden.
Grenzen mitzählen
BETWEEN 50 AND 70 entspricht Punkte >= 50 AND Punkte <= 70 — beide Grenzen gehören dazu.
