SQL语法——UNION 操作符合并两个或多个 SELECT 语句的结果集

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

需要注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

SQL UNION 语法

file

默认UNION 操作符选取不同的值。如果允许重复的值,需使用 UNION ALL。

SQL UNION ALL 语法

file

此外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。


演示数据库

file


UNION 实例

现在,我们希望把 Students_hobby_t 与 Students_hobby_h的Hobby_id列结果合并到一起,如下:

file

结果集如下:

file

UNION 无法列出在 Students_hobby_t 和 Students_hobby_h 表的Hobby_id字段值。在上面的例子中,有相同的Hobby_id字段值,但只有一个Hobby_id字段值被列出来了。UNION 命令只会选取不同的值。若需要获取全部的(可能存在重复)Hobby_id字段值,可以使用 UNION ALL 来获取重复的值。


SQL UNION ALL 实例

file

结果集如下:

file


SQL UNION ALL 中的 WHERE

下面的 SQL 语句使用 UNION ALL 从 Students_hobby_t 和 Students_hobby_h 表中选取 Id > 0 的数据。

file

结果集如下:

file

讨论数量: 0

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!