SQL CASE

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;
    
        SELECT order_id, customer_id,
                CASE
                    WHEN amount >= 400 THEN (amount - amount * 10/100)
                END AS offer_price
            FROM orders;
    

CASI MULTIPLI

È 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;
    

CASE CON ELSE

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;