Declaració SQL CASE

El CASE declaració en SQL és una expressió condicional versàtil que ens permet incorporar lògica condicional directament a les nostres consultes. Us permet retornar resultats específics en funció de determinades condicions que permeten sortides de consultes dinàmiques. Tant si ho necessites crear columnes noves modificar els existents o personalitzar la sortida de les vostres consultes Declaració CASE pot gestionar-ho tot.

En aquest article aprendrem el Declaració SQL CASE detalladament amb exemples clars i casos d'ús que mostren com aprofitar aquesta funció per millorar les vostres consultes SQL.

Declaració CASE en SQL

  • El CASE declaració en SQL és una expressió condicional que us permet realitzar lògica condicional dins d'una consulta.
  • S'utilitza habitualment per crear columnes noves basades en una lògica condicional per proporcionar valors personalitzats o controlar les sortides de consulta en funció de determinades condicions.
  • Si cap condició és certa, aleshores ALTRES part s'executarà. Si no hi ha cap part ALTRA, torna NULL.

Sintaxi:

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

CASE case_value
QUAN condició LLAVORS resultat1
QUAN condició LLAVORS resultat2
...
Altrament resultat
FINAL DE CAS;

Exemple de declaració 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 client Nom del client Cognom País Edat Telèfon
1 Dubte Thakur Índia 23 xxxxxxxxxx
2 Segur Chopra Austràlia 21 xxxxxxxxxx
3 Naveen Tulasi Sri Lanka 24 xxxxxxxxxx
4 Aditya Arpan Àustria 21 xxxxxxxxxx
5 Nishant. Salchichas S.A. Jain Espanya 22 xxxxxxxxxx

Podeu crear la mateixa base de dades al vostre sistema escrivint la següent consulta 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 1: expressió CASE simple

En aquest exemple fem servir la instrucció CASE

Consulta:

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

Sortida:

Nom del client Edat Nacionalitat
Dubte 23 indi
Segur 21 Estrangers
Naveen 24 Estrangers
Aditya 21 Estrangers
Nishant. Salchichas S.A. 22 Estrangers

Exemple 2: SQL CAS Quan hi ha múltiples condicions

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

Consulta:

 SELECT CustomerName Age CASE WHEN Age> 22 THEN 'The Age is greater than 22' WHEN Age = 21 THEN 'The Age is 21' ELSE 'The Age is over 30' END AS QuantityText FROM Customer;  

Sortida:

Nom del client Edat QuantitatText
Dubte 23 L'edat és superior als 22 anys
Segur 21 L'edat és 21
Naveen 24 L'edat és superior als 22 anys
Aditya 21 L'edat és 21
Nishant. Salchichas S.A. 22 L'edat supera els 30 anys

Exemple 3: Declaració CASE amb clàusula ORDER BY

Prenem la taula de clients que conté l'ID del client Nom del client Cognom País Edat i telèfon. Podem comprovar les dades de la taula de clients utilitzant el COMANDA 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:

Nom del client País
Segur Austràlia
Aditya Àustria
Nishant. Salchichas S.A. Espanya
Naveen Sri Lanka
Dubte Índia

Aspectes importants sobre la declaració CASE

  • La instrucció 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 utilitzant I i OR.
  • Podem incloure diverses declaracions WHEN i una instrucció ELSE per contrarestar condicions no abordades.

Conclusió

El CASE La sentència proporciona un mecanisme robust per incorporar la lògica condicional a les consultes SQL. Mitjançant aquesta declaració, podeu gestionar diverses condicions i personalitzar la sortida de les vostres consultes de manera eficaç. Comprendre com implementar CASE expressions us permet realitzar una manipulació de dades i informes més sofisticats, fent que les vostres consultes SQL siguin més dinàmiques i responsives a diferents escenaris.

Crea un qüestionari