SQL’s CASE WHEN statement is een krachtig hulpmiddel voor het bewerken en analyseren van gegevens in een database. Het biedt de mogelijkheid om specifieke acties uit te voeren, afhankelijk van bepaalde voorwaarden.
Het CASE WHEN statement wordt gebruikt in een SQL-query en werkt als volgt:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result
END
De condition is een waarheidstest die wordt uitgevoerd voor elke regel gegevens in de database. Als de test TRUE is, wordt het bijbehorende result uitgevoerd. Het ELSE-resultaat wordt gebruikt als geen van de conditions TRUE is.
Bijvoorbeeld, in een database met informatie over klanten, kun je de CASE WHEN statement gebruiken om de verkoopstatus van elke klant te bepalen:
SELECT customer_name,
CASE
WHEN sales >= 1000 THEN 'High Performer'
WHEN sales >= 500 THEN 'Average Performer'
ELSE 'Low Performer'
END AS sales_status
FROM customers;
Dit zou een resultaat geven met de namen van de klanten en hun verkoopstatus, afhankelijk van hun totale verkoopcijfers.
In samenvatting biedt het CASE WHEN statement in SQL een eenvoudige en flexibele manier om gegevens te analyseren en te bewerken, afhankelijk van specifieke voorwaarden.
Het is ook mogelijk om geneste CASE WHEN statements te gebruiken in SQL. Dit betekent dat je een CASE WHEN statement binnen een ander CASE WHEN statement kunt plaatsen. Hierdoor kun je nog complexere voorwaardentests uitvoeren.
Een voorbeeld van een genest CASE WHEN statement kan zijn:
SELECT customer_name,
CASE
WHEN sales >= 1000 THEN 'High Performer'
WHEN sales >= 500 THEN
CASE
WHEN customer_type = 'VIP' THEN 'VIP Average Performer'
ELSE 'Average Performer'
END
ELSE 'Low Performer'
END AS sales_status
FROM customers;
In dit voorbeeld wordt, naast de verkoopstatus, ook rekening gehouden met het type klant. Als een klant een VIP is en een average performer, krijgt deze de status VIP Average Performer in plaats van gewoon Average Performer.
Het gebruik van geneste CASE WHEN statements kan zorgen voor nog meer flexibiliteit en precisie in het analyseren en bewerken van gegevens in een database.
