最近在学习数据库的基本知识中看到这union和union all这两个语句,刚开始确实会容易被迷惑,后来在别人的博客上好好的看了一下,才明白真正的区别
union 会对表中的数据进行并集操作,若两个表中有相同的数据则只显示其中一个,并且对操作后的数据进行一定规则的排序。
union all也会对表中的数据进行并集操作,但若两个表中有相同的数据会全部都显示出来且无排序。
好,接下来我考一下大家这个问题,看看大家学的怎么样了?
- 你认识马冬梅吗?
- 什么冬梅?
- 马冬梅
- 马什么梅?
- 马冬梅
- 马东什么?
- 得嘞,看来大家对这个问题还是不太清楚,接下来我举一个例子大家就可以明白啦!
如下有两个表(用excel代替,可以想象成数据
库中的表)
表一
表二
若是两个表进行union操作则会形成一个这样的表
若进行union all 则会形成另外这样的一个表
大家对这两个表进行对比就可以发现
- union将两个表的重复值只显示了一个且对这些数据按照id进行了排序
- union all 将两个表的重复值显示了两遍,且这两个表合并后并没有进行排序。而是直接堆叠在了一起。
ok,这篇文章到这里就结束啦~大家有什么不会的可以评论区留言哈!也可以直接私信我哦!