logo

Declaració SQL CASE

Declaració SQL CASE és una expressió condicional que permet als usuaris executar diferents accions basades en diferents condicions. És similar a la lògica if-else en altres llenguatges de programació.

Declaració CASE en SQL

L'expressió CASE en SQL passa per totes les condicions i s'atura quan es compleix qualsevol condició. No verifica si hi ha altres condicions després que una condició hagi retornat cert i retorna resultats basats en aquesta condició.

vb i vb net

Si cap condició és certa, s'executarà la part ELSE. Si no hi ha cap part ALTRA, torna NUL.



Sintaxi

Per utilitzar la instrucció CASE a SQL, utilitzeu la sintaxi següent:

CAIXA cas_valor
QUAN condició LLAVORS resultat 1
QUAN condició LLAVORS resultat 2

Altrament resultat
FINAL CAIXA;

Exemple SQL CASE

Vegem alguns exemples de la instrucció CASE en SQL per entendre-la millor.

Creem una taula SQL de demostració, que s'utilitzarà en exemples.

Demostració de base de dades SQL

Utilitzarem aquesta taula SQL d'exemple per als nostres exemples sobre la instrucció SQL CASE:

ID de clientNom del clientCognomPaísEdatTelèfon
1DubteThakurÍndia23xxxxxxxxxx
2Caixa fortaChopraAustràlia21xxxxxxxxxx
3NaveenTulasiSri Lanka24xxxxxxxxxx
4AdityaArpanÀustria21xxxxxxxxxx
5Nishant. Salsitxes S.A.JainEspanya22xxxxxxxxxx

Podeu crear la mateixa base de dades al vostre sistema escrivint la següent consulta MySQL:

MySQL
CREATE TABLE Customer(  CustomerID INT PRIMARY KEY,  CustomerName VARCHAR(50),  LastName VARCHAR(50),  Country VARCHAR(50),  Age int(2),  Phone int(10) ); -- Insert some sample data into the Customers table INSERT INTO Customer (CustomerID, CustomerName, LastName, Country, Age, Phone) VALUES (1, 'Shubham', 'Thakur', 'India','23','xxxxxxxxxx'),  (2, 'Aman ', 'Chopra', 'Australia','21','xxxxxxxxxx'),  (3, 'Naveen', 'Tulasi', 'Sri lanka','24','xxxxxxxxxx'),  (4, 'Aditya', 'Arpan', 'Austria','21','xxxxxxxxxx'),  (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain','22','xxxxxxxxxx');>

Exemple d'expressió CASE

En aquest exemple, utilitzem la instrucció CASE

comparació de cadena c#

Consulta:

  SELECT   CustomerName, Age  ,    CASE   WHEN Country = 'India' THEN 'Indian'  ELSE 'Foreign' END AS Nationality FROM Customer;>

SQL CAS Quan Exemple de condicions múltiples

Podem afegir diverses condicions a la instrucció CASE utilitzant múltiples QUAN clàusules.

Consulta:

  SELECT   CustomerName, Age,   CASE     WHEN   Age>22 LLAVORS 'L'edat és més gran que 22' QUAN Edat = 21 LLAVORS 'L'edat és 21' ALTRES 'L'edat és més de 30' ACABA COM QuantityText FROM Client;>

Sortida:

afegint diverses condicions a la sortida d'un exemple de declaració de cas

Sortida

Declaració CASE amb exemple de clàusula ORDER BY

Prenem la taula de clients que conté CustomerID, CustomerName, LastName, Country, Ege i Phone. Podem comprovar les dades de la taula de clients utilitzant el DEMANAT PER clàusula amb la instrucció CASE.

Consulta:

  SELECT   CustomerName, Country   FROM   Customer   ORDER BY  (  CASE     WHEN   Country IS 'India'   THEN   Country    ELSE   Age   END  );>

Sortida:

declaració de cas amb sortida d'exemple d'ordre per clàusula

Declaració CASE amb la clàusula ORDER BY Exemple de sortida

Aspectes importants sobre la declaració CASE

  • La sentència SQL CASE és una expressió condicional que permet l'execució de diferents consultes basades en condicions especificades.
  • Sempre hi hauria d'haver un SELECCIONA a la declaració CASE.
  • END ELSE és un component opcional però QUAN LLAVORS aquests casos s'han d'incloure a la declaració CASE.
  • Podem fer qualsevol declaració condicional utilitzant qualsevol operador condicional (com ara ON ) entre QUAN i LLAVORS. Això inclou encadenar diverses declaracions condicionals mitjançant AND i OR.
  • Podem incloure diverses declaracions WHEN i una declaració ELSE per contrarestar condicions no abordades.