关于union,union all的用法
- union查询结果集后自动去重,而union all不去重
- union去重时,会调用相应的算法,因此union all比union更高效
请看此例:
这是exam表:
select * FROM exam
UNION all
select * FROM exam
结果是这个样子:
那么union 呢?
select * FROM exam
UNION
select * FROM exam
结果是:
所以到这里我们来总结一下union和union all吧:
- union是将产生的两个结果集去重复之后,结果集会按照第一个表的列名进行显示(所以数据类型要匹配)。
- union和union all也可以合并两个以上的结果集。
- union的 SELECT 语句必须拥有相同数量的列,相同或者相近的数据类型。因为是直接将结果集合并,因此需要保证列的顺序一致(不然数据类型也可能不同)。
有什么问题或者意见的话,欢迎留言,笔者看到会第一时间回复哦