你知道mysl中UNION 和 UNION ALL操作符的区别是什么吗?

1.UNION作用描述

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,用UNION进行连接的两个SELECT语句必须拥有相同数量的列、相同的数据类型、相同的顺序。

2.UNION语法和UNION ALL的区别

先说结论:UNION 操作符会选取两个select中不同的值,UNION ALL则允许重复的值

语法:

SELECT column_name(s) FROM table_name1
UNION 
SELECT column_name(s) FROM table_name2
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

3.下面用两个例子来证明

需求:对以下两个表进行联合查询操作

(1)使用 UNION 命令:

SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA

结果: 03字段重复了,被去掉了一个

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Gates, Bill

 (1)使用 UNION ALL命令:

SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA

结果: 两个03字段都显查询出来了

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Carter, Thomas
Gates, Bill

4.结论 

UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令不会忽略重复列

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十八岁讨厌Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值