千家信息网

Oracle中的Union和Union All的区别

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,【举例】一、创建A、B两张表,为了方便理解,两张表都只创建一个字段列,分别是a_col和b_col,添加A表数据1、4、5、9,添加B表数据2、3、4、5。二、输入如下语句:select * from
千家信息网最后更新 2025年02月02日Oracle中的Union和Union All的区别

【举例】

一、创建A、B两张表,为了方便理解,两张表都只创建一个字段列,分别是a_col和b_col,添加A表

数据1、4、5、9,添加B表数据2、3、4、5。

二、输入如下语句:select * from A union select * from B;

结果:1、4、5、9、2、3。(去除了重复行)

输入如下语句:select * from A union all select * from B;

结果:1、4、5、9、2、3、4、5。 (未去除重复行)

【结论】

Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

Union All:对两个结果集进行并集操作,包括重复行,不进行排序;

【注意事项】

使用union和union all必须保证各个select集合的结果有相同个数的列,并且每个列的类型是

一样,但列名则不一定需要相同。

0