UNION vs JOIN
-
JOIN
:列合并简单来说,JOIN 是使用一个
SELECT
语句”横向“连接不同表格的多列数据。 -
UNION
:行堆叠
使用两个或多个SELECT
语句纵向连接不同表格的数据,或者可以理解为append(追加)
。
UNION vs UNION ALL
关于UNION
有两点原则:这些SELECT
语句
① 必须具有相同列数
② 追加的数据必须具有与前一个相同的数据类型
UNION 和 UNION ALL的区别:
- UNION:堆叠连接的时候,会自动删除与第一张表相同的数据。
- UNION ALL:堆叠所有数据,包括重复数据。
注:对UNION的结果进行排序时,不允许使用多条ORDER BY
语句,而只允许使用一个 ORDER BY
(在最后)。