CASE WHEN
Teil des Abschnitts Über die Grundlagen hinaus der SQL-Journey von Coddy — Lektion 1 von 27.
Ein CASE-Ausdruck ist ein if/else if/else für SQL. Er befindet sich innerhalb von SELECT (oder ORDER BY oder WHERE) und erzeugt einen Wert pro Zeile.
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 75 THEN 'B'
WHEN score >= 60 THEN 'C'
ELSE 'F'
END AS grade
FROM studentsJedes WHEN wird von oben nach unten geprüft; die erste Übereinstimmung gewinnt. Das ELSE ist optional. Ohne es erhalten nicht übereinstimmende Zeilen NULL.
Schließen Sie immer mit END ab und geben Sie der Spalte mit AS einen Namen.
Aufgabe
EinfachVerfügbare Tabellen und Spalten:
<strong>employees</strong>:<strong>id</strong>,<strong>name</strong>,<strong>department</strong>,<strong>salary</strong>
Gib für jeden Mitarbeiter deren name, department und eine Spalte tier zurück, die wie folgt aufgebaut ist:
'partner', wennsalary >= 150000(beliebiges Department)'senior', wenndepartment = 'eng'undsalary >= 100000'mid', wennsalary >= 60000'entry'andernfalls
Sortiere nach salary absteigend. Beachte, dass die Reihenfolge der WHEN-Zweige (branches) eine Rolle spielt: Der erste Treffer gewinnt.
Probier es selbst
SELECT name, department,
-- Stufe mit mehreren WHEN-Zweigen, die salary und department mischen
FROM employees
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.