SQL Server使用UNION ALL
在SQL Server中,我们可以使用UNION ALL操作符将多个SELECT语句的结果合并为一个结果集。在本文中,我们将介绍如何使用UNION ALL操作符。
语法
以下是UNION ALL操作符的语法:
SELECT column1, column2, ... FROM table1
UNION ALL
SELECT column1, column2, ... FROM table2
UNION ALL
SELECT column1, column2, ... FROM table3
...
示例
以下是两个示例,演示如何使用UNION ALL操作符。
示例1:合并两个表的数据
在此示例中,我们将使用UNION ALL操作符将两个表的数据合并为一个结果集。
- 创建表。
我们可以使用以下SQL语句创建两个表:
CREATE TABLE employees1 (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
CREATE TABLE employees2 (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
- 插入数据。
我们可以使用以下SQL语句向两个表中插入数据:
INSERT INTO employees1 (id, name, age)
VALUES (1, 'John Doe', 30);
INSERT INTO employees1 (id, name, age)
VALUES (2, 'Jane Doe', 25);
INSERT INTO employees2 (id, name, age)
VALUES (3, 'Bob Smith', 40);
INSERT INTO employees2 (id, name, age)
VALUES (4, 'Alice Smith', 35);
- 合并数据。
我们可以使用以下SQL语句将两个表的数据合并为一个结果集:
SELECT id, name, age FROM employees1
UNION ALL
SELECT id, name, age FROM employees2;
在以上代码中,我们使用UNION ALL操作符将employees1和employees2表的数据合并为一个结果集。
示例2:合并多个表的数据
在此示例中,我们将使用UNION ALL操作符将多个表的数据合并为一个结果集。
- 创建表。
我们可以使用以下SQL语句创建三个表:
CREATE TABLE employees1 (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
CREATE TABLE employees2 (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
CREATE TABLE employees3 (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
- 插入数据。
我们可以使用以下SQL语句向三个表中插入数据:
INSERT INTO employees1 (id, name, age)
VALUES (1, 'John Doe', 30);
INSERT INTO employees1 (id, name, age)
VALUES (2, 'Jane Doe', 25);
INSERT INTO employees2 (id, name, age)
VALUES (3, 'Bob Smith', 40);
INSERT INTO employees2 (id, name, age)
VALUES (4, 'Alice Smith', 35);
INSERT INTO employees3 (id, name, age)
VALUES (5, 'Tom Brown', 45);
INSERT INTO employees3 (id, name, age)
VALUES (6, 'Mary Brown', 50);
- 合并数据。
我们可以使用以下SQL语句将三个表的数据合并为一个结果集:
SELECT id, name, age FROM employees1
UNION ALL
SELECT id, name, age FROM employees2
UNION ALL
SELECT id, name, age FROM employees3;
在以上代码中,我们使用UNION ALL操作符将employees1、employees2和employees3表的数据合并为一个结果集。
结论
通过以上步骤和示例,我们了解了如何使用UNION ALL操作符将多个SELECT语句的结果合并为一个结果集。在实际应用中,我们可以使用UNION ALL操作符来处理多个表的数据,从而提高数据处理效率。