Heim >Datenbank >SQL >Fall bei Verwendung in SQL

Fall bei Verwendung in SQL

DDD
DDDOriginal
2023-07-17 15:37:366765Durchsuche

Fall, wenn in SQL verwendet wird, um verschiedene Vorgänge basierend auf unterschiedlichen Bedingungen in SQL-Abfragen auszuführen. Sie können auf der Grundlage beliebiger Bedingungen Urteile fällen und entsprechende Operationen basierend auf den Ergebnissen der Bedingungen ausführen. Das Arbeitsprinzip der CASE WHEN-Anweisung besteht darin, die Bedingungen einzeln von oben nach unten zu beurteilen wird ausgeführt, und nur die erste, die die Bedingung erfüllt, wird ausgeführt.

Fall bei Verwendung in SQL

Die CASE WHEN-Anweisung in SQL ist ein bedingter Ausdruck, der verwendet wird, um verschiedene Vorgänge basierend auf unterschiedlichen Bedingungen in SQL-Abfragen auszuführen. Es kann auf der Grundlage beliebiger Bedingungen urteilen und entsprechende Operationen basierend auf den Ergebnissen der Bedingungen durchführen. In SQL lautet die Syntax der CASE WHEN-Anweisung wie folgt:

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END

In dieser Syntax sind Bedingung1 und Bedingung2 Bedingungsausdrücke, bei denen es sich um jede SQL-kompatible Bedingung handeln kann. result1 und result2 sind Ausführungsergebnisse, bei denen es sich um Spaltennamen, konstante Werte oder Ausdrücke handeln kann. Das endgültige ELSE-Ergebnis ist optional und wird zur Behandlung anderer Situationen verwendet, in denen die Bedingungen nicht erfüllt sind.

Das Funktionsprinzip der CASE WHEN-Anweisung besteht darin, die Bedingungen einzeln von oben nach unten zu beurteilen. Sobald eine Bedingung erfüllt ist, wird die entsprechende Operation ausgeführt, und nur die erste Operation, die die Bedingung erfüllt. Wenn keine Bedingung erfüllt ist, werden die Operationen im ELSE-Block ausgeführt.

Hier sind einige Beispiele für CASE WHEN-Anweisungen:

1. Einfache CASE WHEN-Anweisung:

SELECT
customer_name,
CASE
WHEN gender = 'Male' THEN 'Mr.'
WHEN gender = 'Female' THEN 'Ms.'
ELSE 'Unknown'
END AS salutation
FROM
customers;

Die obige Abfrage generiert unterschiedliche Titel basierend auf dem Geschlechtsfeld .‘, wenn das Geschlecht weiblich ist, lautet der Titel „Frau“, andernfalls ist er „Unbekannt“.

2. Kombination aus CASE WHEN-Anweisung und Aggregatfunktion:

SELECT
department_id,
COUNT(*) AS employees_count,
CASE
WHEN COUNT(*) > 10 THEN 'Large'
WHEN COUNT(*) > 5 THEN 'Medium'
ELSE 'Small'
END AS department_size
FROM
employees
GROUP BY
department_id;

Die obige Abfrage unterteilt Abteilungen in drei verschiedene Kategorien: groß, mittel und klein, basierend auf der Anzahl der Mitarbeiter in jeder Abteilung.

3. Anwendung der CASE WHEN-Anweisung in der WHERE-Klausel:

SELECT
order_id,
order_date,
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END AS shipped_flag
FROM
orders
WHERE
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END = 1;

Die obige Abfrage gibt nur Bestellungen zurück, die versendet wurden, und die Filterbedingung verwendet die CASE WHEN-Anweisung.

Zusammenfassung

Die CASE WHEN-Anweisung ist ein sehr nützlicher bedingter Ausdruck in SQL, der verschiedene Operationen basierend auf unterschiedlichen Bedingungen ausführen kann. Es bietet eine flexible Möglichkeit, verschiedene Szenarien zu handhaben und Abfragen prägnanter und intuitiver zu gestalten. Ganz gleich, ob Sie neue Spalten generieren, Statistiken berechnen oder Daten filtern – die CASE WHEN-Anweisung kann Ihre Anforderungen erfüllen und dabei helfen, SQL-Abfragen zu optimieren.

Das obige ist der detaillierte Inhalt vonFall bei Verwendung in SQL. 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
Vorheriger Artikel:In SELECT-Anweisung einfügenNächster Artikel:In SELECT-Anweisung einfügen