L'istruzione CASE
viene utilizzata per verificare le condizioni ed eseguire attività su ciascuna riga durante la selezione dei dati. Per esempio:
SELECT customer_id, name, CASE WHEN age >= 18 THEN 'Allowed' END AS can_vote FROM customers;
CASE
inizia sempre con la keyword CASE
e termina sempre con la keyword END
seguita dall'alias del nome della colonna.
SELECT order_id, customer_id, CASE WHEN amount >= 400 THEN (amount - amount * 10/100) END AS offer_price FROM orders;
È anche possibile impilare più condizioni all'interno della clausola CASE
. Per esempio:
SELECT customer_id, name CASE WHEN country = 'USA' THEN 'United States of America' WHEN country = 'UK' THEN 'United Kingdom' END AS country_name FROM customers;
Un'istruzione può avere una clausola CASE
facoltativa. La clausola ELSE
viene eseguita se nessuna delle condizioni CASE
nell'istruzione è soddisfatta. Per esempio:
SELECT customer_id, name CASE WHEN country = 'USA' THEN 'United States of America' WHEN country = 'UK' THEN 'United Kingdom' ELSE 'Unknown country' END AS country_name FROM customers;