Esercitazione MySQL

MySQL HOME Introduzione a MySQL MySQL RDBMS

MySQL SQL

MySQL SQL SELEZIONA MySQL MySQL DOVE MySQL E, O, NON MySQL ORDINA PER MySQL INSERT IN Valori NULL MySQL AGGIORNAMENTO MySQL MySQL DELETE LIMITE MySQL MySQL MIN e MAX MySQL COUNT, MEDIO, SOMMA MySQL MI PIACE Caratteri jolly MySQL MySQL IN MySQL TRA alias MySQL MySQL si unisce MySQL INNER JIN MySQL ha lasciato il join MySQL GIUSTO UNISCITI MySQL CROSS JIN MySQL Self Join MySQL UNION MySQL GRUPPO PER MySQL AVENDO MySQL ESISTE MySQL QUALSIASI, TUTTO SELEZIONA INSERTO MySQL CASO MySQL Funzioni null di MySQL Commenti MySQL Operatori MySQL

Database MySQL

MySQL Crea DB MySQL Drop DB MySQL Crea tabella MySQL Drop Table MySQL Alter tabella Vincoli MySQL MySQL non nullo MySQL unico Chiave primaria MySQL Chiave esterna MySQL Controllo MySQL MySQL predefinito MySQL Crea indice Incremento automatico di MySQL Date MySQL Viste MySQL

Riferimenti MySQL

Tipi di dati MySQL Funzioni MySQL

Esempi MySQL

Esempi MySQL Quiz MySQL Esercizi MySQL

Dichiarazione CASE MySQL


La dichiarazione CASE di MySQL

L' CASEistruzione passa attraverso le condizioni e restituisce un valore quando viene soddisfatta la prima condizione (come un'istruzione if-then-else). Quindi, una volta che una condizione è vera, interromperà la lettura e restituirà il risultato. Se nessuna condizione è vera, restituisce il valore nella ELSEclausola.

Se non c'è nessuna ELSEparte e nessuna condizione è vera, restituisce NULL.

Sintassi CASE

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

Database dimostrativo

Di seguito è riportata una selezione dalla tabella "OrderDetails" nel database di esempio Northwind:

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40


Esempi di CASE MySQL

Il seguente SQL esamina le condizioni e restituisce un valore quando viene soddisfatta la prima condizione:

Esempio

SELECT OrderID, Quantity,
CASE
    WHEN Quantity > 30 THEN 'The quantity is greater than 30'
    WHEN Quantity = 30 THEN 'The quantity is 30'
    ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;

Il seguente SQL ordinerà i clienti per città. Tuttavia, se Città è NULL, ordina per Paese:

Esempio

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);