admin 管理员组

文章数量: 1086019


2024年4月18日发(作者:intellijidea版本)

**MySQL中UNION ALL的使用**

一、基本定义与特性

UNION ALL 是 MySQL 中用来结合两个或更多 SELECT 语句结果的方法。

不同于 UNION,UNION ALL 会返回所有的行,包括重复的行。而 UNION 则会

消除重复的行。

二、语法

```sql

SELECT column_name(s) FROM table1

UNION ALL

SELECT column_name(s) FROM table2;

```

在这上面的代码中, `column_name(s)` 是你想从表中获取的列的名称,而

`table1` 和 `table2` 是你想从中选择数据的表的名字。

三、使用注意事项

1. 每个 SELECT 语句必须拥有相同数量的列。这些列也必须具有相似的数

据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

2. UNION ALL 语句默认不会消除重复的行,如果你需要消除重复的行,可

以使用 UNION 语句。

3. 在使用 UNION ALL 时,你可以添加 ORDER BY 语句来对结果进行排序,

这个 ORDER BY 语句需要写在所有的 UNION ALL 查询语句之后。

四、举例

假设我们有两个表,一个是 "Customers",另一个是 "Suppliers"。我们想

从这两个表中选择所有城市的列表,可以使用以下的查询:

```sql

SELECT City FROM Customers

UNION ALL

SELECT City FROM Suppliers

ORDER BY City;

```

在这个例子中,我们选择了两个表中的 "City" 列,并使用了 UNION ALL

来组合结果。最后,我们使用 ORDER BY 对城市进行排序。这样我们就可以得

到一个包含所有城市的列表,包括重复的城市。


本文标签: 语句 城市 选择 结果 列表