Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

SQL Case : Was ist das für eine Abfrage und wie wird sie verwendet?

-
3
 Minuten Lesezeit
-
sql abfrage

Die Programmiersprache SQL ist ein wertvolles Werkzeug für Entwickler und Experten. Denn mithilfe einer Vielzahl von Abfragen ist es möglich, Daten und Systeme von relationalen Datenbanken zu manipulieren. Zu den unverzichtbaren Befehlen gehört CASE SQL. Wozu dient diese Abfrage? Und wie wird sie verwendet? Finde die Antworten in diesem Artikel.

Was ist der CASE-Befehl?

In der Computersprache hat der Befehl CASE/WHEN denselben Zweck wie die Funktion WENN/NEIN (oder IF/ELSE). Nämlich ein Ergebnis aus mehreren Möglichkeiten zurückzugeben.

Je nach der verwendeten Syntax kann CASE :

1º eine Angabe mit einer Reihe von möglichen Ergebnissen vergleichen. In diesem Fall ist die Syntax von CASE SQL wie folgt:

CASE

WHEN Ausdruck THEN Ergebnis

ELSE anderes Ergebnis

END

2 º Bestimme ein Ergebnis, indem du mehrere Boolesche Ausdrücke (wahr oder falsch) aufstellst. Die Syntax lautet wie folgt:

CASE

WHEN boolescher Ausdruck THEN Ergebnis.

ELSE anderes Ergebnis

END

Gut zu wissen: In beiden Fällen ist die ELSE-Klausel optional. Dadurch kann ein Wert gesetzt werden, falls die WHEN-Bedingungen nicht erfüllt sind.

Abgesehen von diesen vereinfachten Syntaxen wird die CASE SQL-Abfrage sehr oft in Verbindung mit anderen Befehlen verwendet.

 

💡Auch interessant:

MySQL Relationale Datenbanksoftware
SQL Tutorial
Apache Cassandra noSQL BDD
SQL Joins
SQL Count Tutorial
SQL Datei öffnen

Welche anderen Befehle kannst du mit CASE SQL verwenden?

Um die Datenbank zu erweitern, kann die CASE SQL-Abfrage auch mit anderen Befehlen verwendet werden. Hier sind die wichtigsten und ihre verschiedenen Funktionen:

  • SELECT: Dies ist eine der häufigsten SQL-Abfragen. Sie ermöglicht die Auswahl von Spalten innerhalb einer Tabelle.
  • UPDATE: Mit diesem Befehl kannst du eine Spalte aktualisieren.
  • DELETE: Hiermit werden eine oder mehrere Spalten gelöscht.
  • ORDER BY: Mit dieser Abfrage kannst du die Daten in der Tabelle ordnen (in absteigender oder aufsteigender Reihenfolge).
  • GROUP BY: Damit werden Daten nach einer definierten Bedingung gruppiert.
  • INSERT INTO: Wenn du weitere Informationen in deine Datentabelle einfügen möchtest.
  • SUM: Damit kannst du Summen bilden (von einem Produkt, einem Preis, …).
  • HAVING: Um Zeilen einzuschränken.

Schauen wir uns nun einige konkrete Anwendungsbeispiele an.

3 Beispiele für den Einsatz von CASE SQL

Um dir zu helfen, die Verwendung von CASE SQL besser zu verstehen, findest du hier einige konkrete Beispiele.

Für jedes von ihnen werden wir diese Tabelle „Einkauf“ verwenden. Das Ziel des Unternehmens ist es, den richtigen Preis festzulegen. Dazu stützt sie sich auf die erzielte Gewinnspanne.

ID Produktname Marge Menge Einzelpreis
1 Produkt 1 1 1 50
2 Produkt 2 1,25 3 70
3 Produkt 3 0,75 2 60
4 Produkt 4 1,5 2 80

Persönliche Nachricht

Ziel ist es, die Entscheidungsträger über die Preispositionierung der einzelnen Produkte zu informieren. Dazu kann die CASE SQL-Abfrage verwendet werden.

Die Syntax lautet wie folgt:

SELECT id, Produktname, Gewinnspanne,Menge, Stückpreis,

CASE

WHEN Marge > 1 THEN ‚Hoher Preis‘.

WHEN Marge < 1 THEN ‚Niedriger Preis‘.

ELSE ‚Normaler Preis‘.

END

FROM `Kauf`

Und das Ergebnis :

ID Produktname Marge Menge Einzelpreis FALL
1 Produkt 1 1 1 50 Normaler Preis
2 Produkt 2 1,25 3 70 Hoher Preis
3 Produkt 3 0,75 2 60 Niedriger Preis
4 Produkt 4 1,5 2 80 Hoher Preis

Änderung des Preises pro Einheit

Um seine Preispolitik anzupassen, möchte das Unternehmen seine Preise entsprechend seiner Gewinnspanne ändern: Bei einer positiven Gewinnspanne soll der Preis um 10 % gesenkt werden, bei einer negativen Gewinnspanne soll er um 10 % erhöht werden.

Auch hier kann die Datenbank durch die Verwendung von Bedingungen und dem Befehl CASE SQL schnell geändert werden.

Die Syntax lautet wie folgt:

SELECT id, Produktname, Marge,Menge, Stückpreis,

CASE

WHEN margin > 1 THEN ‚Preis pro Einheit * 0,9‘.

WHEN Marge < 1 THEN ‚Preis pro Einheit * 1,1‘.

ELSE ‚Preis pro Einheit‘.

END

FROM `Kauf`

Und das Ergebnis :

ID Produktname Marge Menge Einzelpreis
1 Produkt 1 1 1 50
2 Produkt 2 1,25 3 63
3 Produkt 3 0,75 2 66
4 Produkt 4 1,5 2 72

Aktualisieren der Menge

Über SELECT hinaus kann die CASE SQL-Abfrage auch mit anderen Befehlen wie UPDATE verwendet werden.

Um dir bei der Visualisierung dieser Abfrage zu helfen, ist hier ein hypothetisches Szenario dargestellt.

Für alle Produkte mit einer positiven Gewinnspanne bietet das Unternehmen ein weiteres, zusätzliches Produkt an. In diesem Rahmen muss die Tabelle aktualisiert werden.

Dies geschieht folgendermaßen:

UPDATE `Kauf`

SET `Menge` = (

CASE

WHEN margin > 1 THEN ‚Quantity + 1‘.

ELSE ‚Menge‘.

END

)

Und das Ergebnis :

ID Produktname Marge Menge Einzelpreis
1 Produkt 1 1 1 50
2 Produkt 2 1,25 4 70
3 Produkt 3 0,75 2 60
4 Produkt 4 1,5 3 80

Dies sind nur einige vereinfachte Beispiele. Wenn du mehr über die verschiedenen Anwendungsfälle der CASE SQL-Abfrage erfahren möchtest, nimm an unserer Schulung bei DataScientest teil.

Erweitere deine Fähigkeiten mit DataScientest

Neben der CASE-SQL-Abfrage gibt es in der strukturierten Query-Sprache eine Vielzahl von Befehlen, um Datenbanken zu manipulieren. Um sie alle zu verstehen, ist es wichtig, sich weiterzubilden. Aus diesem Grund bieten wir bei Datascientest verschiedene Schulungen an.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.