Mysql-全外连接-Union和Union ALL的辨析及练习

2023-12-13 03:50:05

mysql不支持FULL JOIN,但是可以用 (select 语句1) union (select 语句2)代替

🐶1. SQL UNION 操作符

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

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

🐶2. SQL UNION 语法

SELECT column_name(s) FROM table_name1

UNION

SELECT column_name(s) FROM table_name2

注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

🐶3. SQL UNION ALL 语法

SELECT column_name(s) FROM table_name1

UNION ALL

SELECT column_name(s) FROM table_name2

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

🐶4. Union和Union ALL区别

区别一:取结果的交集

  • union:对两个结果集进行并集操作,不包括重复行,相当于distinct, 同时进行默认规则的排序

  • Union all: 对两个结果集进行并集操作,包括重复行,即所有的结果全部显示,不管是不是重复。

区别2:获取结果后的操作

  • Union:会对获取的结果进行排序操作

  • Union all: 不会对获取的结果进行排序操作

🐶5. 总结

Union all只是合并查询结果,并不会进行去重和排序操作,在没有去重的前提下,使用union all的执行效率要比union高。

练习:牛客SQL25

?

文章来源:https://blog.csdn.net/weixin_40968325/article/details/134823391
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。