强大的union 和union all的方法,具体可查看强大的W3SCHOOL里的说明
union 博主只知道可以拿来拼数据,在二次开发数据源中,经常在下拉框选项值时,比如
select '是' id,'是' label from dual
union
select '否' id,'否' label from dual
还有做查询统计时,最后加上一条合计的用法:
select name,age from userinfo
union
select '合计',sum(age) age from userinfo
注意:
1、两条语句的查询出来的字段个数要一致;
2、字段类型要对应一致。
否则会报错:
Error: PL/SQL: ORA-01789: 查询块具有不正确的结果列数
Error: PL/SQL: ORA-01790:表达式必须具有与对应表达式相同的数据类型
前两天看到有个朋友问怎么把表两列合并查出去除重复的,其实用union就可以解决了
select colA from table
union
select colB from table
这样就能把A列和B列的值合并查出并且去掉重复的,如果只是单纯的合并不需要去掉重复的,用union all
另外,如果选择一个表中某列的值去掉重复的,除了用distinct取唯一值还可以用union,但是应该不会有人用union的吧哈哈哈哈~~~~
select distinct(col) from table
select col from table
union
select col from table