UNION——表的加法

UNION 等集合运算符通常都会除去重复的记录。

■注意事项① ——作为运算对象的记录的列数必须相同

  如果一部分记录包含2 列,另一部分记录包含3 列时会发生错误,无法进行加法运算。

  错误提示:使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式

■注意事项② ——作为运算对象的记录中列的类型必须一致

  ELECT的内容里,相同位置上的列必须是同一数据类型。

  错误提示:操作数类型冲突: XXX与 YYY 不兼容。

  一定要使用不同数据类型的列时,可以使用6-1 节中的类型转换函数CAST。

■ 注意事项③ —— 可以使用任何SELECT语句,但ORDER BY子句只能在最后使用一次

  通过UNION 进行并集运算时可以使用任何形式的SELECT 语句,之前学过的WHERE、GROUP BY、HAVING 等子句都可以使用。但是ORDER BY 只能在最后使用一次

如果想在UNION 的结果中保留重复行,只需要在UNION 后面添加ALL 关键字就可以了。这里的ALL 选项,在UNION 之外的集合运算符中同样可以使用。

同时使用 UNION 和 INTERSECT 时,INTERSECT 会优先执行。

原文地址:https://www.cnblogs.com/philipchan/p/14335802.html