Istruzione SQL CASE

IL CASE dichiarazione in SQL è un'espressione condizionale versatile che ci consente di incorporare logica condizionale direttamente all'interno delle nostre query. Ti consente di restituire risultati specifici in base a determinate condizioni abilitando output di query dinamiche. Se ne hai bisogno creare nuove colonne modificare quelli esistenti o personalizzare l'output delle tue query Dichiarazione CASO può gestire tutto.

In questo articolo impareremo il Istruzione SQL CASE in dettaglio con esempi chiari e casi d'uso che mostrano come sfruttare questa funzionalità per migliorare le query SQL.

Dichiarazione CASE in SQL

  • IL CASE dichiarazione in SQL è un'espressione condizionale che consente di eseguire la logica condizionale all'interno di una query.
  • Viene comunemente utilizzato per creare nuove colonne basate sulla logica condizionale, fornire valori personalizzati o controllare gli output delle query in base a determinate condizioni.
  • Se nessuna condizione è vera allora il ALTRO parte verrà eseguita. Se non è presente alcuna parte ELSE, ritorna NULL.

Sintassi:

Per utilizzare l'istruzione CASE in SQL utilizzare la seguente sintassi:

CASE valore_caso
QUANDO condizione THEN risultato1
QUANDO condizione THEN risultato2
...
Altro risultato
CASO FINE;

Esempio di istruzione SQL CASE

Diamo un'occhiata ad alcuni esempi dell'istruzione CASE in SQL per capirla meglio.

Creiamo una tabella SQL dimostrativa che verrà utilizzata negli esempi.

Database SQL dimostrativo

Utilizzeremo questa tabella SQL di esempio per i nostri esempi sull'istruzione SQL CASE:

ID cliente NomeCliente Cognome Paese Età Telefono
1 Dubbio Thakur India 23 xxxxxxxxxx
2 Sicuro Chopra Australia 21 xxxxxxxxxx
3 Naveen Tulasi Sri Lanka 24 xxxxxxxxxx
4 Aditya Arpan Austria 21 xxxxxxxxxx
5 Nishant. Salchichas S.A. Giain Spagna 22 xxxxxxxxxx

Puoi creare lo stesso database nel tuo sistema scrivendo la seguente query 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');   

Esempio 1: semplice espressione CASE

In questo esempio utilizziamo l'istruzione CASE

Domanda:

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

Produzione:

NomeCliente Età Nazionalità
Dubbio 23 indiano
Sicuro 21 Straniero
Naveen 24 Straniero
Aditya 21 Straniero
Nishant. Salchichas S.A. 22 Straniero

Esempio 2: SQL CASE quando sono presenti più condizioni

Possiamo aggiungere più condizioni nell'istruzione CASE utilizzando multiple QUANDO clausole.

Domanda:

 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;  

Produzione:

NomeCliente Età QuantitàTesto
Dubbio 23 L'età è maggiore di 22 anni
Sicuro 21 L'età è 21 anni
Naveen 24 L'età è maggiore di 22 anni
Aditya 21 L'età è 21 anni
Nishant. Salchichas S.A. 22 L'età è superiore ai 30 anni

Esempio 3: istruzione CASE con clausola ORDER BY

Prendiamo la tabella Customer che contiene CustomerID CustomerName LastName Country Age e Phone. Possiamo controllare i dati della tabella Customer utilizzando il comando ORDINA PER clausola con l'istruzione CASE.

Domanda:

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

Produzione:

NomeCliente Paese
Sicuro Australia
Aditya Austria
Nishant. Salchichas S.A. Spagna
Naveen Sri Lanka
Dubbio India

Punti importanti sulla dichiarazione CASE

  • L'istruzione SQL CASE è un'espressione condizionale che consente l'esecuzione di query diverse in base a condizioni specificate.
  • Dovrebbe esserci sempre un SELEZIONARE nella dichiarazione CASE.
  • FINE ALTRO è un componente opzionale ma QUANDO POI questi casi devono essere inclusi nella dichiarazione CASE.
  • Possiamo fare qualsiasi istruzione condizionale utilizzando qualsiasi operatore condizionale (come DOVE ) tra QUANDO e ALLORA. Ciò include l'unione di più istruzioni condizionali utilizzando E e O.
  • Possiamo includere più istruzioni WHEN e un'istruzione ELSE per contrastare condizioni non indirizzate.

Conclusione

IL CASE fornisce un meccanismo affidabile per incorporare la logica condizionale nelle query SQL. Utilizzando questa istruzione puoi gestire varie condizioni e personalizzare l'output delle tue query in modo efficace. Capire come implementare CASE Le espressioni consentono di eseguire manipolazioni e reporting dei dati più sofisticati, rendendo le query SQL più dinamiche e reattive a diversi scenari.

Crea quiz