数据库union和union all关键字使用详解以及注意事项

两者都是将数据集集合显示,但是使用场景有所不同

显示数据集的结果有所不同:

union会自动过滤掉重复的数据进行集合显示,一般取第一个表的数据显示,第二个表的结果就不显示了,union all则是不做任何处理将两个表的所有结果集显示出来。

对重复结果和排序的处理方式不同:

union处理结果没有重复的数据,并且会按照字段的顺序进行排序;union all只是粗暴的将两个结果集全部显示,数据会有重复,执行效率也比union高,

徐亚特别注意的是:

1、union和union all在使用的时候,关联查询的表并不局限与两个表,理论上讲是无数个,但是前提是表的结构和字段必须保持一致an'l

2、union和union all查询,表的列名可以不同,但是数量和列的类型必须一致,否则会报错的

示例sql:

直接上sql了,返回结构需要自行验证了!

可以验证列名相同、列名不同、列的类型不同、有重复数据等情况下的使用对比

SELECT 列名a, 列名b, ... FROM 表名1
UNION
SELECT 列名c, 列名d, ... FROM 表名2;

SELECT 列名a, 列名b, ... FROM 表名1
UNION ALL
SELECT 列名c, 列名d, ... FROM 表名2;

数据查询工具推荐使用navicat、plsql、sqlyog等,都是可以的

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值