MS Access SQL:将 SELECT INTO 与 UNION ALL 查询结合使用

vba

1个回答

写回答

wqjhht

2025-07-09 20:22

+ 关注

将 SELECT INTO 与 UNION ALL 查询结合使用

在 MS Access 中,我们经常需要使用 SELECT INTO 语句将查询结果插入到新表中,而有时候我们又需要将多个查询的结果合并成一个结果集。这时,我们可以使用 UNION ALL 查询来实现数据的合并。本文将介绍如何在 MS Access 中将 SELECT INTO 与 UNION ALL 查询结合使用,并提供相应的案例代码。

1. SELECT INTO 语句

SELECT INTO 语句用于将查询的结果插入到新表中。它的基本语法如下:

sql

SELECT column1, column2, ...

INTO new_table

FROM table1;

其中,column1, column2, ... 是要查询的列名,new_table 是新表的名称,table1 是要查询的源表。

下面是一个简单的例子,假设我们有一个学生表(students),包含学生的姓名(name)、年龄(age)和成绩(score)。我们想要创建一个新表(top_students),用于存储成绩在90分以上的学生信息。可以使用以下代码来实现:

sql

SELECT name, age, score

INTO top_students

FROM students

WHERE score >= 90;

执行以上代码后,将在数据库中创建一个名为 top_students 的新表,并将成绩在90分以上的学生信息插入到该表中。

2. UNION ALL 查询

UNION ALL 查询用于将多个查询的结果合并成一个结果集。它的基本语法如下:

sql

SELECT column1, column2, ...

FROM table1

UNION ALL

SELECT column1, column2, ...

FROM table2;

其中,column1, column2, ... 是要查询的列名,table1 和 table2 是要查询的源表。

下面是一个例子,假设我们有两个学生表(students1 和 students2),结构相同,其中包含学生的姓名(name)、年龄(age)和成绩(score)。我们想要将这两个表的数据合并成一个结果集。可以使用以下代码来实现:

sql

SELECT name, age, score

FROM students1

UNION ALL

SELECT name, age, score

FROM students2;

执行以上代码后,将返回一个包含两个表数据的结果集。

3. 将 SELECT INTO 与 UNION ALL 查询结合使用

将 SELECT INTO 与 UNION ALL 查询结合使用,可以实现将多个查询的结果合并后插入到新表中。下面是一个示例:

sql

SELECT name, age, score

INTO all_students

FROM (

SELECT name, age, score

FROM students1

UNION ALL

SELECT name, age, score

FROM students2

);

以上代码将执行以下步骤:

- 首先,将来自 students1 表的数据与来自 students2 表的数据合并成一个结果集。

- 然后,将合并后的结果集插入到名为 all_students 的新表中。

执行以上代码后,将在数据库中创建一个名为 all_students 的新表,并将两个学生表的数据合并后插入到该表中。

通过将 SELECT INTO 与 UNION ALL 查询结合使用,我们可以实现将多个查询的结果合并后插入到新表中。这种技术在 MS Access 中非常有用,可以帮助我们更灵活地处理数据。

以上就是关于在 MS Access 中将 SELECT INTO 与 UNION ALL 查询结合使用的介绍和案例代码。希望本文对你有所帮助!

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号