logo

SQL サーバー IF ELSE

IF ステートメントは、SQL Server の制御フロー関数の一部です。通常、これはさまざまなプログラミング言語での意思決定ステートメントであり、 与えられた条件に基づいて値を返します 。このステートメントは、指定された条件が true と評価されると IF ブロックに記述されたコードを実行し、条件が false と評価されると ELSE ステートメントが実行されます。

IF ステートメント

SQL Server でのこのステートメントの使用法を示す構文は次のとおりです。

 IF boolean_expression BEGIN { statement_block } END 

上記の構文では、 ステートメントブロック の中に 始まり...終わり ブロックは次のときに実行されます。 ブール式_式 状態には満足しています。それ以外の場合、このブロックはスキップされ、プログラム制御は次のステートメントに移動します。 終わり キーワード。式に 選択する ステートメント、私たちはする必要があります 括弧で囲みます

ELSE ブロックのない IF ステートメントを理解するための例を見てみましょう。以下の例では、条件が満たされた場合に結果が表示されます。それ以外の場合、プログラム制御は END キーワード (存在する場合) の後のステートメントに移動します。

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

ステートメントを実行すると、次の出力が得られます。

SQL サーバー IF ELSE

それでは、以下でそれを説明します。 学生' 次のデータを含むテーブル:

SQL サーバー IF ELSE

以下は、 合計点 から選ばれた生徒の 学生' サンプル データベース内のテーブルを取得し、出力します。 メッセージ もしそれが 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 

以下の出力が得られます。

SQL サーバー IF ELSE

上記の出力メッセージを確認したい場合は、 メッセージ タブ:

SQL サーバー IF ELSE

IF-ELSE ステートメント

実際のシナリオでは、IF ステートメントの条件が TRUE または FALSE の場合は常に、何らかのアクションを実行する必要があります。この場合、IF…ELSE ステートメントが便利です。このステートメントは、IF 句の条件が FALSE と評価されたときに ELSE ステートメント ブロックを実行します。

女優サイ・パラヴィ

SQL Server での IF ELSE ステートメントの使用法を示す構文は次のとおりです。 :

 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 

ELSE ブロックを含む IF ステートメントを理解するための例を見てみましょう。以下の例では、「」というメッセージが表示されます。 おめでとう!あなたは試験に合格しました ' IF条件が満たされた場合。それ以外の場合は、「」を表示します あなたは失敗しました!次回は幸運を祈ります '。

 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>