logo

Istruzione SQL CASE

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 clienteNome del clienteCognomePaeseEtàTelefono
1DubbioThakurIndia23xxxxxxxxxx
2SicuroChopraAustraliaventunoxxxxxxxxxx
3NaveenTulasiSri Lanka24xxxxxxxxxx
4AdityaArpanAustriaventunoxxxxxxxxxx
5Nishant. Salsicce SAGiainSpagna22xxxxxxxxxx

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:

aggiunta di più condizioni all'output di esempio di un'istruzione case

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 di clausola order by

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.