SQL Server 联合查询简介与示例

在 SQL Server 中,联合查询是一种结合两个或多个表的查询方式,可以根据特定的条件将这些表中的数据进行组合。联合查询通常用于同时查询多个表并生成一个结果集,以提供更全面的信息。

联合查询的类型

SQL Server 支持多种类型的联合查询,包括:

  • INNER JOIN(内连接):返回两个表中符合连接条件的记录。
  • LEFT JOIN(左连接):返回左表中所有记录以及右表中符合连接条件的记录。
  • RIGHT JOIN(右连接):返回右表中所有记录以及左表中符合连接条件的记录。
  • FULL JOIN(全连接):返回左表和右表中所有记录,不管是否符合连接条件。

联合查询的语法

下面是 SQL Server 中联合查询的基本语法:

SELECT 列名
FROM 表1
INNER JOIN 表2
ON 表1.列 = 表2.列;

联合查询的示例

假设我们有两个表:学生表 包含学生的姓名和学号,成绩表 包含学生成绩和学生的学号。我们可以通过联合查询来获取每个学生的姓名和成绩信息。

CREATE TABLE 学生表 (
    学号 INT PRIMARY KEY,
    姓名 VARCHAR(50)
);

CREATE TABLE 成绩表 (
    学号 INT,
    成绩 INT
);

INSERT INTO 学生表 VALUES (1, '张三'), (2, '李四'), (3, '王五');
INSERT INTO 成绩表 VALUES (1, 90), (2, 80), (3, 85);

SELECT 学生表.姓名, 成绩表.成绩
FROM 学生表
INNER JOIN 成绩表
ON 学生表.学号 = 成绩表.学号;

上述示例中,我们通过 INNER JOIN 将学生表和成绩表连接起来,返回了每个学生的姓名和成绩信息。

联合查询的应用场景

联合查询在实际应用中非常常见,特别是在需要同时查询多个表并获取相关信息时。例如,可以用来获取订单信息和客户信息的关联数据,或者获取产品信息和库存信息的关联数据等。

饼状图示例

下面我们通过一个饼状图来展示学生的平均成绩分布情况:

pie
    title 学生平均成绩分布
    "90-100": 1
    "80-89": 1
    "70-79": 1

结语

通过本文的介绍,您应该了解了 SQL Server 中联合查询的基本概念、语法和示例。联合查询是 SQL 中非常重要的一种查询方式,能够帮助我们同时获取多个表中的数据并进行组合,以满足复杂的查询需求。希望本文能够对您有所帮助,谢谢阅读!