Menu
Coddy logo textTech

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 students

Jedes WHEN wird von oben nach unten geprüft; die erste Übereinstimmung gewinnt. Das ELSE ist optional. Ohne dieses erhalten nicht übereinstimmende Zeilen NULL.

Beenden Sie immer mit END und geben Sie der Spalte mit AS einen Namen.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • <strong>employees</strong>: <strong>id</strong>, <strong>name</strong>, <strong>department</strong>, <strong>salary</strong>

Geben Sie für jeden Mitarbeiter dessen name, department und eine tier-Spalte zurück, die wie folgt aufgebaut ist:

  • 'partner' wenn salary >= 150000 (beliebige Abteilung)
  • 'senior' wenn department = 'eng' und salary >= 100000
  • 'mid' wenn salary >= 60000
  • 'entry' andernfalls

Sortieren Sie nach salary absteigend. Beachten Sie, dass die Reihenfolge der WHEN-Zweige von Bedeutung ist: die erste Übereinstimmung gewinnt.

Spickzettel

CASE fungiert wie if/else innerhalb von SELECT und erzeugt einen Wert pro Zeile:

SELECT name,
       CASE
           WHEN score >= 90 THEN 'A'
           WHEN score >= 75 THEN 'B'
           ELSE 'F'
       END AS grade
FROM students
  • Bedingungen werden von oben nach unten geprüft; der erste Treffer gewinnt
  • ELSE ist optional — ohne diese geben nicht übereinstimmende Zeilen NULL zurück
  • Immer mit END abschließen; verwenden Sie AS, um die Spalte zu benennen

Probier es selbst

SELECT name, department,
       -- Stufe mit mehreren WHEN-Zweigen, die salary und department kombinieren
FROM employees
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Über die Grundlagen hinaus