SQL Server THEN是什么意思

在SQL Server中,THEN关键字通常用于条件语句(如IF语句或CASE语句)中,用于指定在条件为真时要执行的操作。在本篇文章中,我们将深入探讨SQL Server中THEN的用法和意义,并提供一些代码示例来帮助读者更好地理解。

THEN关键字的用法

在SQL Server中,THEN关键字通常与IF语句或CASE语句一起使用。在IF语句中,THEN用于指定在条件为真时要执行的代码块。在CASE语句中,THEN用于指定每个条件为真时要返回的值。

下面是一个简单的IF语句示例,演示了THEN关键字的用法:

DECLARE @num INT = 10

IF @num > 5
BEGIN
    PRINT 'Number is greater than 5'
END

在上面的示例中,如果变量@num的值大于5,则会打印出"Number is greater than 5"。

下面是一个简单的CASE语句示例,也展示了THEN关键字的用法:

DECLARE @day_of_week INT = 1
DECLARE @day_name VARCHAR(20)

SET @day_name = 
    CASE @day_of_week
        WHEN 1 THEN 'Sunday'
        WHEN 2 THEN 'Monday'
        WHEN 3 THEN 'Tuesday'
        WHEN 4 THEN 'Wednesday'
        WHEN 5 THEN 'Thursday'
        WHEN 6 THEN 'Friday'
        WHEN 7 THEN 'Saturday'
    END

PRINT @day_name

在上面的示例中,根据变量@day_of_week的值,选择相应的星期几名称并打印输出。

THEN关键字的示例

为了更直观地展示THEN关键字的用法,我们将创建一个简单的示例来模拟一个学生成绩表。假设我们有一个学生成绩表Students,包含学生的姓名和成绩。

首先,我们创建一个Students表:

CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    StudentName VARCHAR(50),
    Grade INT
);

INSERT INTO Students VALUES (1, 'Alice', 85);
INSERT INTO Students VALUES (2, 'Bob', 92);
INSERT INTO Students VALUES (3, 'Charlie', 78);
INSERT INTO Students VALUES (4, 'David', 65);
INSERT INTO Students VALUES (5, 'Eve', 88);

接下来,我们使用CASE语句查询学生成绩,并根据成绩等级返回不同的评价:

SELECT 
    StudentName,
    Grade,
    CASE 
        WHEN Grade >= 90 THEN 'Excellent'
        WHEN Grade >= 80 THEN 'Good'
        WHEN Grade >= 70 THEN 'Average'
        ELSE 'Below Average'
    END AS GradeEvaluation
FROM Students;

通过上面的查询,我们可以看到每个学生的姓名、成绩和相应的评价。

饼状图展示

为了更生动地展示学生成绩的分布情况,我们可以使用饼状图。下面是一个使用mermaid语法中的pie绘制的饼状图,展示学生成绩的分布情况:

pie
    title 学生成绩分布
    "Excellent" : 2
    "Good" : 2
    "Average" : 1
    "Below Average" : 0

在上面的饼状图中,我们可以看到有两名学生成绩为"Excellent",两名学生成绩为"Good",一名学生成绩为"Average",没有学生成绩为"Below Average"。

总结

在本文中,我们探讨了SQL Server中THEN关键字的用法和意义,并通过示例代码演示了它在IF语句和CASE语句中的应用。通过实际示例和饼状图的展示,读者可以更好地理解THEN关键字在SQL语句中的作用。希望本文能帮助读者更深入地理解SQL Server中THEN的用法,从而更好地运用它来处理条件逻辑和数据分析。