IF
IF is a conditional statement in SQL that allows you to perform different actions based on whether a certain condition is true or false. It checks the condition first; if it evaluates to true, a certain statement or block of statements gets executed. If the condition evaluates to false, another set of statements are executed. This makes the control flow of SQL statements more flexible and dynamic.
Example
SET @input = 5;SELECT IF(@input>3, 'Greater', 'Smaller') AS Result;
Output
+---------+| Result |+---------+| Greater |+---------+
Explanation
In this example, the IF
statement in SQL is used to compare a variable (@input
) to a specific value. The IF
statement checks if the value of @input
is greater than 3. If the condition is true, it returns ‘Greater’. If the condition is false, it returns ‘Smaller’. The returned value is displayed as ‘Result’. In this case, since the value of @input
is 5 which is indeed greater than 3, the output is ‘Greater’.
Example
DECLARE @Value INT;SET @Value = 10;
IF (@Value > 5)BEGIN PRINT 'Value is greater than 5';ENDELSEBEGIN PRINT 'Value is equal to or less than 5';END
Output
Value is greater than 5
Explanation
In this example, an integer variable @Value
is declared and set to 10. A conditional IF
statement checks if the value is greater than 5. If the condition is true, it outputs Value is greater than 5
. If it’s false, it would have output Value is equal to or less than 5
. Since @Value
was set to 10, the true condition was met resulting in the displayed output.
Example
DECLARE EMP_SALARY NUMBER(6) := 5500;BEGIN IF EMP_SALARY > 8000 THEN DBMS_OUTPUT.PUT_LINE('High salary'); ELSE DBMS_OUTPUT.PUT_LINE('Low salary'); END IF;END;/
Output
Low salary
Explanation
In this example, a variable EMP_SALARY
is declared and assigned a value of 5500. The IF
statement checks whether the salary is greater than 8000. If the salary is above 8000, the string ‘High salary’ is output. Otherwise, ‘Low salary’ is output. As the set value of 5500 is less than 8000, the output is ‘Low salary’.