logo

SQL Server SI Ailleurs

L'instruction IF fait partie de la fonction de flux de contrôle dans SQL Server. Habituellement, il s'agit d'une déclaration de prise de décision dans divers langages de programmation qui renvoie une valeur basée sur les conditions données . Cette instruction exécute le code écrit dans le bloc IF lorsque la condition donnée est évaluée à vrai et lorsque la condition est évaluée à faux, alors l'instruction ELSE sera exécutée.

La déclaration IF

Voici la syntaxe qui illustre l'utilisation de cette instruction dans SQL Server :

 IF boolean_expression BEGIN { statement_block } END 

Dans la syntaxe ci-dessus, le bloc_instruction dans le DÉBUT...FIN Le bloc est exécuté lorsque le Expression booléenne est satisfait de l'état. Sinon, ce bloc est ignoré et le contrôle du programme est déplacé vers l'instruction après le FIN mot-clé. Il faut savoir que si l'expression contient un SÉLECTIONNER déclaration, nous devons mettez-les entre parenthèses .

Exemple

Voyons l'exemple pour comprendre l'instruction IF sans bloc ELSE. L'exemple ci-dessous affichera le résultat lorsque la condition est satisfaite. Sinon, le contrôle du programme est déplacé vers l'instruction après le mot clé END, le cas échéant.

 DECLARE @Marks INT = 65 ; IF @marks >= 45 BEGIN PRINT 'Congratulations! You pass the Examination'; END 

L'exécution de l'instruction donnera le résultat ci-dessous :

SQL Server SI Ailleurs

Maintenant, nous allons le démontrer ci-dessous ' Étudiant' tableau contenant les données suivantes :

SQL Server SI Ailleurs

Ce qui suit est un autre exemple qui obtient le Total des notes d'un étudiant sélectionné parmi les ' Étudiant' table dans la base de données exemple, puis imprime un message Si c'est supérieur à 400 .

 BEGIN DECLARE @Total_Marks INT; SELECT @Total_Marks = total_marks FROM Student WHERE age>25; SELECT @Total_Marks; IF @Total_Marks > 400 BEGIN PRINT 'Congratulations! You pass the Examination'; END END 

Nous obtiendrons le résultat ci-dessous :

SQL Server SI Ailleurs

Si nous voulons voir le message de sortie ci-dessus, nous devons cliquer sur le messages languette:

SQL Server SI Ailleurs

La déclaration IF-ELSE

Dans le scénario du monde réel, nous devons effectuer une action chaque fois que la condition de l'instruction IF est VRAI ou FAUX. Dans ce cas, l’instruction IF…ELSE est utile. Cette instruction exécute le bloc d'instruction ELSE lorsque la condition de la clause IF est évaluée FALSE.

Voici la syntaxe qui illustre l'utilisation de l'instruction IF ELSE dans SQL Server :

 IF expression BEGIN Statement block -- It executes when the IF clause expression is TRUE. END ELSE BEGIN Statement block -- It executes when the IF clause expression is FALSE. END 

Exemple

Voyons l'exemple pour comprendre l'instruction IF avec le bloc ELSE. L'exemple ci-dessous affichera le message ' Toutes nos félicitations! Vous réussissez l'examen ' lorsque la condition IF est satisfaite. Sinon, affichez ' Vous êtes raté ! Plus de chance la prochaine fois '.

 DECLARE @Marks INT; SET @Marks = 65; IF @marks <45 begin print 'congratulations! you pass the examination'; end else 'you are failed! better luck next time'; < pre> <p>Executing the statement will give the below output. Here, the <strong>marks</strong> variable is <strong>65</strong> , and the <strong>condition (65<45)< strong> is not satisfied. Therefore, the message inside the ELSE block is displayed:</45)<></strong></p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-5.webp" alt="SQL Server IF ELSE"> <p>We will get this output because the condition <strong>(65&gt;45)</strong> is satisfied. Therefore, the message inside the IF block is displayed:</p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-6.webp" alt="SQL Server IF ELSE"> <p>Now, we will demonstrate the IF ELSE statement on the above &apos; <strong>Student&apos;</strong> table. In this example, we are going to check whether the student <strong>total marks</strong> is <strong>greater than or equal to 400</strong> or not as follows:</p> <ul> <li>When the IF condition is TRUE, we will get the student records whose total marks are greater than or equal to 550.</li> <li>If the condition is FALSE, we will get the student records whose total marks are less than 550.</li> </ul> <p>Here is the program:</p> <pre> DECLARE @Marks INT; SET @Marks = 600 ; IF @Marks &gt;= 550 BEGIN SELECT id, name, gender, age, total_marks FROM Student WHERE total_marks &gt;= 550 ORDER BY age ASC END ELSE BEGIN SELECT id, name, gender, age, total_marks FROM Student WHERE total_marks <550 order by age asc end < pre> <p>In this code, we have specified the <strong>@Marks</strong> variable to <strong>600</strong> , and the condition (600 &gt;= 550) is satisfied. Therefore, we will get the output where student records whose total marks are greater than or equal to 550 are displayed.</p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-7.webp" alt="SQL Server IF ELSE"> <p>If we changed the <strong>@Marks</strong> variable to <strong>500</strong> and the condition (500 &gt;= 550) becomes false. Therefore, we will get the output where student records whose total marks are less than 550 are displayed.</p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-8.webp" alt="SQL Server IF ELSE"> <h2>Nested IF ELSE Statement</h2> <p>Unlike other programming languages, we can nest an IF...ELSE statement inside another IF...ELSE statement in SQL Server. Let us demonstrate it with the following example:</p> <pre> DECLARE @age INT; SET @age = 6; IF @age <18 50 print 'you are underage'; else begin if @age < below 50'; senior cetizen'; end; pre> <p>In this example, we are going to check whether the <strong>age is underage, below 50, or senior citizen</strong> as follows:</p> <ul> <li>If the value of the <strong>@age</strong> variable is below <strong>18</strong> , it will print the person is <strong>underage</strong> .</li> <li>If the condition is FALSE, the ELSE part will be executed that has a nested IF&#x2026;ELSE.</li> <li>If the value of the <strong>@age</strong> variable is under <strong>50</strong> , it will print <strong>below 50</strong> . Finally, if no condition is satisfied, it will print <strong>senior citizens</strong> .</li> </ul> <p>Here is the result:</p> <img src="//techcodeview.com/img/sql-server-tutorials/49/sql-server-if-else-9.webp" alt="SQL Server IF ELSE"> <p>This article gives a complete overview of how to use the SQL Server IF ELSE statement. Here we have learned:</p> <ul> <li>Variables are objects that serve as placeholders.</li> <li>The keyword BEGIN will be used to start a statement block, and the END keyword must be used to close it.</li> <li>The use of ELSE in an IF... ELSE statement is optional.</li> <li>It&apos;s also possible to nest an IF...ELSE statement inside another IF...ELSE statement. However, nesting an IF statement within another statement is bad practice because it makes the code difficult to read and maintain.</li> </ul> <hr></18></pre></550></pre></45>