Istruzione SQL CASE è un'espressione condizionale che consente agli utenti di eseguire azioni diverse in base a condizioni diverse. È simile alla logica if-else in altri linguaggi di programmazione.
Dichiarazione CASE in SQL
CASE L'espressione in SQL passa attraverso tutte le condizioni e si interrompe quando viene soddisfatta una condizione. Non verifica la presenza di altre condizioni dopo che una condizione ha restituito true e restituisce risultati in base a tale condizione.
Se nessuna condizione è vera, verrà eseguita la parte ELSE. Se non è presente alcuna parte ELSE, restituisce NULLO.
Sintassi
Per utilizzare l'istruzione CASE in SQL, utilizzare la seguente sintassi:
data Java corrente
CASO valore_caso
QUANDO condizione POI risultato1
QUANDO condizione POI risultato2
…
Altro risultato
FINE CASO;
Esempio CASO SQL
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:
| Identificativo del cliente | Nome del cliente | Cognome | Paese | Età | Telefono |
|---|---|---|---|---|---|
| 1 | Dubbio | Thakur | India | 23 | xxxxxxxxxx |
| 2 | Sicuro | Chopra | Australia | ventuno | xxxxxxxxxx |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | xxxxxxxxxx |
| 4 | Aditya | Arpan | Austria | ventuno | xxxxxxxxxx |
| 5 | Nishant. Salsicce SA | Giain | Spagna | 22 | xxxxxxxxxx |
Puoi creare lo stesso database nel tuo sistema, scrivendo la seguente query 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');>
Esempio di 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;>
SQL CASE in caso di più condizioni Esempio
Possiamo aggiungere più condizioni nell'istruzione CASE utilizzando multiple QUANDO clausole.
Domanda:
SELECT CustomerName, Age, CASE WHEN Age>22 THEN 'L'età è maggiore di 22' WHEN Age = 21 THEN 'L'età è 21' ELSE 'L'età è maggiore di 30' END AS QuantitàTesto FROM Cliente;>
Produzione:

Produzione
Dichiarazione CASE con esempio di 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 ORDINATO DA clausola con l'istruzione CASE.
Domanda:
SELECT CustomerName, Country FROM Customer ORDER BY ( CASE WHEN Country IS 'India' THEN Country ELSE Age END );>
Produzione:

Istruzione CASE con output di esempio della clausola ORDER BY
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 a 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 AND e OR.
- Possiamo includere più istruzioni WHEN e un'istruzione ELSE per contrastare condizioni non indirizzate.