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.
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!