SQL Else If 语句对于一次检查多个条件非常有用。If 语句是对“If then Else”(我们在之前的帖子中讨论过)的扩展。
If Else 语句只在给定条件为真或假时执行语句。但在现实世界中,我们可能需要检查两个以上的条件。在这些情况下,我们可以使用 SQL Server Else If 语句。让我们看看 Else if 语句的语法。
SQL Else If 语法
Else If 语句的语法是
IF (Expression 1) BEGIN Statement 1; END ELSE IF (Expression 2) BEGIN Statement 2; END .......... ELSE BEGIN Default Statement; END
Else if 语句通过按顺序执行来有效地处理多个语句。它会检查第一个条件。如果条件为 TRUE,则执行该块中的语句。如果条件为 FALSE,则检查下一个(Else If 条件),依此类推。
在 Sql Server Else If 示例中,有时会遇到条件 1、条件 2 都为 TRUE 的情况,例如:
x = 30, y = 15
条件 1: x > y — TRUE
条件 2: x != y — TRUE
在这些情况下,会执行条件 1 下的语句。因为 ELSE IF 条件仅在其前面的 IF 或 ELSE IF 语句失败时才执行。
SQL Server Else If 流程图
为了更好地理解,让我们看看 else if 语句的流程图。

SQL Else If 示例
在此程序中,我们将使用 Else if 语句计算他是否有资格获得奖学金。
-- Else If Example
--Declaring Total Marks Out of 1000
DECLARE @Total_Marks INT = 940 ;
IF @Total_Marks > = 900
BEGIN
PRINT ' Congratulations ';
PRINT ' You are eligible for Full Scholarship ';
END
ELSE IF @Total_Marks > = 800
BEGIN
PRINT ' Congratulations ';
PRINT ' You are eligible for 50 Percent Scholarship ';
END
ELSE IF @Total_Marks > = 750
BEGIN
PRINT ' Congratulations ';
PRINT ' You are eligible for 10 Percent Scholarship ';
END
ELSE
BEGIN
PRINT ' You are Not eligible for Scholarship ';
PRINT ' We are really Sorry for You ';
END
输出 1:在此 Else If 演示中,Total_Marks = 940。这意味着第一个 If 条件为 TRUE,因此 If 语句内的语句显示为浏览器输出。

输出 2:让我们将 Total_Marks 从 940 更改为 820,以显示 SQL else if 语句示例。这里,第一个 IF 条件失败,所以它会检查 else if (@Total_Marks >= 800),这是 TRUE。因此,它将显示此块内的语句。尽管 else if (@Total_Marks >= 750) 条件为 TRUE,但它不会检查该条件。

输出 3:让我们将 Total_Marks 从 820 更改为 760,这意味着第一个 IF 条件和 Else if (@Total_Marks >= 800) 都失败了。所以,它会检查 else if (@Total_Marks >= 750),这是 TRUE,因此它将打印此块内的语句。

输出 4:我们将 Total_Marks 更改为 735。这意味着所有 IF 和 Else If 条件都失败了。所以,它会打印 else 块内的语句。我建议您参考 If then Else 文章在 Server。
