union与union all的记录

    xiaoxiao2023-09-27  23

    本篇文章简单记录一下union与union all的区别。

    首先,union 和 union all 都是用于合并多个select语句结果集的

    区别:当select多个结果集,如果结果集重复了,union会去除重复,而union all会全部查出来

    select seq_case_catalogid.nextval,t.* from(select '1','2' from dual union all select '1','2' from dual) t

     

    select seq_case_catalogid.nextval,t.* from(select '1','2' from dual union select '1','2' from dual) t

     

    注意: union/unionall 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同

     

    另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

    比如我将第一个select语句中的列名起个别名,则整个结果集的列名就依照其显示

    select seq_case_catalogid.nextval,t.* from(select '1' 第一列,'2' 第二列 from dual union all select '1','2' from dual) t

    最新回复(0)