Heim > Datenbank > SQL > Hauptteil

Verwendung von Case When in SQL

angryTom
Freigeben: 2022-03-29 16:19:14
Original
182649 Leute haben es durchsucht

In SQL wird die „Case When“-Anweisung zur Auswahlbeurteilung verwendet. Während der Ausführung wird zuerst die Bedingung beurteilt und dann wird die entsprechende Operation basierend auf dem Beurteilungssyntax „CASE-Feld WHEN Bedingung 1“ durchgeführt THEN Operation 1 WHEN Bedingung 2 THEN Operation 2...ELSE Operation n END;".

Verwendung von Case When in SQL

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Microsoft SQL Server 2016-Version, Dell G3-Computer.

Verwendung von case when in SQL

case when ähnelt der if else-Beurteilung und der switch case-Anweisung in Programmiersprachen. Wenn diese Anweisung ausgeführt wird, wird zunächst die Bedingung beurteilt und dann wird basierend auf dem Beurteilungsergebnis die entsprechende Operation ausgeführt.

Case hat zwei Formate: einfache Case-Funktion und Case-Suchfunktion.

Einfache Case-Funktion:

CASE sex
WHEN ‘1’ THEN ‘男’
WHEN ‘0’ THEN ‘女’
ELSE ‘其他’ END
Nach dem Login kopieren

Case-Suchfunktion:

CASE WHEN sex = ‘1’ THEN ‘男’
WHEN sex = ‘0’ THEN ‘女’
ELSE ‘其他’ END
Nach dem Login kopieren

Natürlich ist die einfache Case-Funktion prägnanter, eignet sich aber nur für solche Einzelfelder Einzelwertvergleich. Der Vorteil der Fallsuchfunktion besteht darin, dass sie auf alle Vergleichssituationen anwendbar ist.

Es gibt ein weiteres Problem, das Aufmerksamkeit erfordert. Nachdem die Case-Funktion eine bestimmte Bedingung erfüllt, werden die übrigen Bedingungen automatisch ignoriert, selbst wenn mehrere Bedingungen erfüllt sind, wird bei der Ausführung nur die erste erkannt. eine Bedingung.

(Die chinesische PHP-Website bietet eine große Anzahl kostenloser SQL-Tutorials, die jeder gerne lernen kann!)

Wenn Sie CASE WHEN verwenden, können Sie es als logisch betrachten Bei anonymen Feldern wird der Feldwert anhand von Bedingungen bestätigt. Wenn Sie den Feldnamen verwenden müssen, können Sie as verwenden, um einen Alias ​​zu definieren. Dies ist immer noch sehr abstrakt. Schauen Sie sich den folgenden Anwendungsfall von CASE WHEN an, um dies zu verdeutlichen.

Nutzungsszenarien

1. Bekannte Daten können auf bestimmte Weise gruppiert und analysiert werden.

Verwendung von Case When in SQL

Zählen Sie anhand der Bevölkerungsdaten dieses Landes die Bevölkerung Asiens und Nordamerikas. Verwenden Sie das folgende SQL:

SELECT  CASE country
WHEN '中国'     THEN '亚洲'
WHEN '印度'     THEN '亚洲'
WHEN '日本'     THEN '亚洲'
WHEN '美国'     THEN '北美洲'
WHEN '加拿大'  THEN '北美洲'
WHEN '墨西哥'  THEN '北美洲'
ELSE '其他' END as '洲' , SUM(population) as '人口'
FROM test
GROUP BY CASE country
WHEN '中国'     THEN '亚洲'
WHEN '印度'     THEN '亚洲'
WHEN '日本'     THEN '亚洲'
WHEN '美国'     THEN '北美洲'
WHEN '加拿大'  THEN '北美洲'
WHEN '墨西哥'  THEN '北美洲'
ELSE '其他' END;
Nach dem Login kopieren

Verwendung von Case When in SQL

Die beiden CASE WHEN hier entsprechen einem Feld, aber es ist erwähnenswert, dass der THEN-Wert des zweiten CASE WHEN dort ist Es ist nicht erforderlich, anzugeben, um welchen Kontinent es sich handelt, es wird nur zum Gruppieren von Datensätzen verwendet, sodass der Wert nach THEN nur diese drei Arten von Datensätzen unterscheiden kann. GROUP BY kann auch wie folgt geschrieben werden:

GROUP BY CASE country
WHEN '中国'     THEN 0
WHEN '印度'     THEN 0
WHEN '日本'     THEN 0
WHEN '美国'     THEN 1
WHEN '加拿大'  THEN 1
WHEN '墨西哥'  THEN 1
ELSE 2 END;
Nach dem Login kopieren

2. Verwendung eine SQL-Anweisung Vollständige Gruppierungen unter verschiedenen Bedingungen.

hat die folgenden Daten:

Verwendung von Case When in SQL

Verwenden Sie die Fallfunktion, um nach Land und Geschlecht zu gruppieren. Verwenden Sie die folgende SQL:

SELECT country,
SUM( CASE WHEN sex = '1' THEN population ELSE 0 END  ),  --男性人口
SUM( CASE WHEN sex = '2' THEN population ELSE 0 END )   --女性人口
FROM  Table_A
GROUP BY country;
Nach dem Login kopieren

, um die folgenden Ergebnisse zu erhalten:

Verwendung von Case When in SQL

Erklären Sie den ersten CASE WHEN:

CASE WHEN sex = '1' THEN
population ELSE 0 END
Nach dem Login kopieren

Wenn das Geschlecht des Datensatzes 1 ist, ist der Wert dieses Feldes der Bevölkerungswert des Datensatzes, andernfalls ist es 0, sodass die männliche Bevölkerung eines Landes berechnet werden kann.

Weitere SQL- und andere Einführung in die Programmierung-Tutorials finden Sie weiterhin auf der chinesischen PHP-Website! !       

Das obige ist der detaillierte Inhalt vonVerwendung von Case When in SQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage