union和union all 的区别

UNION用于合并两个或多个SELECT查询的结果,要求列数和数据类型相同。UNION会自动去除重复行,而UNIONALL则包含所有行,包括重复。在使用UNION时,结果集的列名取自第一个SELECT语句。示例展示了UNION和UNIONALL在处理两个表格数据时的不同效果。
摘要由CSDN通过智能技术生成

1:union用于合并两个或多个select 语句的结果集。

注意:

1:union内部的select 语句必需拥有相同数量的列,列也夜必须拥有相似的数据类型,同时每条select 语句中的列的顺序必须相同。

2:union结果集中的列名总是等于union  中第一个select 语句中的列名。

3:默认的union 操作符是选取不同的值,如果允许重复的值,使用unino all。

区别:

union:去重且排序(取唯一值,记录没有重复)

union all:不去重不排序(直接直连,取到所有值,记录可能有重复)

例:

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

表格1数据为: 

idname
1xia
2xiaa
3jun

 

 

 

 

 

 表格2 的数据为:

idnameage
1xia12
2jun32

 

 

 

 

 使用union的结果为: 

SELECT `name` FROM stu
UNION 
SELECT `name` FROM student

 9fc40d6f06814ecea0763bc632f7143f.png

 

 使用union ALL的结果为:

SELECT `name` FROM stu
UNION all
SELECT `name` FROM student

a48f46dd181a457babb4d8e5109b5ecd.png

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大大怪~将军

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

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

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

打赏作者

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

抵扣说明:

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

余额充值