Heim >Datenbank >MySQL-Tutorial >Wie funktioniert der SQL-CASE-Ausdruck in verschiedenen Datenbanksystemen?

Wie funktioniert der SQL-CASE-Ausdruck in verschiedenen Datenbanksystemen?

DDD
DDDOriginal
2025-01-11 06:45:41330Durchsuche

How Does the SQL CASE Expression Work Across Different Database Systems?

Vollständige Syntax des SQL-CASE-Ausdrucks

SQL CASE-Ausdrücke sind für die Verarbeitung komplexer Abfragen konzipiert und ermöglichen Ihnen die Auswertung mehrerer Bedingungen und die Rückgabe spezifischer Werte basierend auf den erfüllten Bedingungen. Die Syntax variiert je nach Datenbank-Engine.

SQL Server

Die allgemeine Syntax des CASE-Ausdrucks von SQL Server lautet wie folgt:

<code class="language-sql">CASE case-expression
    WHEN when-expression-1 THEN value-1
  [ WHEN when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END</code>

Orakel

Die CASE-Ausdruckssyntax von Oracle verfolgt einen etwas anderen Ansatz:

<code class="language-sql">CASE
    WHEN boolean-when-expression-1 THEN value-1
  [ WHEN boolean-when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END</code>

Komponenten des CASE-Ausdrucks

  • case-expression: Der Wert, der anhand von when-expressions ausgewertet werden soll.
  • when-expression: Ein Ausdruck zum Vergleich mit case-expression.
  • Wert: Das Ergebnis einer CASE-Anweisung, wenn der entsprechende when-Ausdruck mit dem case-Ausdruck übereinstimmt.
  • boolean-when-expression: Ein boolescher Ausdruck, der bestimmt, ob der entsprechende Wert zurückgegeben werden soll.
  • else-value: Der zurückgegebene Wert, wenn kein when-expression mit case-expression übereinstimmt.

Ausführungssemantik

Der CASE-Ausdruck wertet jeden When-Ausdruck nacheinander aus. Wenn eine Übereinstimmung gefunden wird, wird der entsprechende Wert zurückgegeben. Wenn keine Übereinstimmung gefunden wird, wird der else-Wert zurückgegeben, falls vorhanden. Beachten Sie, dass die Reihenfolge der When-Ausdrücke wichtig ist, da der erste übereinstimmende Ausdruck Vorrang hat.

Beispiel

Bedenken Sie die folgende Abfrage:

<code class="language-sql">SELECT CASE student_age
    WHEN 18 THEN 'Teenager'
    WHEN 21 THEN 'Adult'
    ELSE 'Minor'
END AS age_category
FROM students;</code>

Diese Abfrage weist dem Schüler basierend auf seinem Alter eine Alterskategorie zu: „Teenager“, wenn er 18 Jahre alt ist, „Erwachsener“, wenn er 21 Jahre alt ist, oder „Minderjährig“, wenn er unter 18 Jahre alt ist oder keine Übereinstimmung gefunden wird.

Das obige ist der detaillierte Inhalt vonWie funktioniert der SQL-CASE-Ausdruck in verschiedenen Datenbanksystemen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn