De meeste (waarschijnlijk alle ) programmeertalen bevatten een vorm van de IF
statement waarmee programmeurs voorwaardelijke code kunnen schrijven. Dat wil zeggen, code die alleen wordt uitgevoerd indien een bepaalde voorwaarde is waar.
Het is een heel eenvoudig concept. In principe gaat het als volgt:
"Als dit, doe dat dan."
De meeste talen noemen het gewoon IF
, maar sommige hebben hun eigen draai aan de naam (bijvoorbeeld in ColdFusion/CFML heet het CFIF
).
In ieder geval doen ze in wezen hetzelfde.
In SQL Server (of beter gezegd, de programmeertaal T-SQL) heet het IF
.
Voorbeeld
Hier is een eenvoudig voorbeeld om te demonstreren hoe de IF
verklaring werkt.
IF 1 < 2 SELECT 'True';
Resultaat:
True
In dit geval is de te evalueren uitdrukking 1 < 2
. Het is waar dat 1 kleiner is dan 2, dus de SELECT
statement is uitgevoerd en True
is teruggestuurd.
Als de uitdrukking echter onwaar is, gebeurt er niets.
Het volgende voorbeeld laat dit zien:
IF 1 > 2 SELECT 'True';
Resultaat:
Commands completed successfully.
Alles wat SQL Server me vertelde, is dat de opdracht met succes is voltooid. Er is niets anders geretourneerd, omdat er niets anders is opgegeven.
De IF... ELSE-verklaring
In SQL Server is de IF
statement wordt geleverd met een optionele ELSE
, waarmee u een alternatief kunt bieden voor het geval de expressie false retourneert.
Daarom is het alsof je zegt:"ALS dit, doe dit, ANDERS, doe dit".
In dit geval kunnen we de optionele ELSE
. toevoegen naar de IF
statement, zodat het een IF... ELSE
. wordt verklaring.
IF 1 > 2
SELECT 'True';
ELSE
SELECT 'False';
Resultaat:
False
Nu krijgen we ook een resultaat als de uitdrukking onwaar is.
Geneste IF-verklaringen
Een van de geweldige dingen van IF
uitspraken is dat je ze kunt nesten. Dat wil zeggen, u kunt meer IF
. toevoegen verklaringen in uw originele, en meer daarbinnen enz.
U kunt zoveel IF
. nesten uitspraken zoals je wilt. Je wordt alleen beperkt door de hoeveelheid beschikbaar geheugen.
Hier is een voorbeeld van het nesten van een IF
verklaring in een andere.
DECLARE @bankBalance int = 123;
IF @bankBalance > 100
IF @bankBalance > 150
SELECT 'Rich!';
ELSE
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Resultaat:
Wealthy
IF... ELSE IF-verklaringen
Je kunt het ook gebruiken als een IF... ELSE IF
uitspraak.
DECLARE @bankBalance int = 123;
IF @bankBalance > 150
SELECT 'Rich!';
ELSE IF @bankBalance > 100
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Resultaat:
Wealthy