KingbaseES数据库union的用法


数据库版本:KingbaseES V008R006C008B0014


        

文章目录如下

1. union的概念

2. union的语法

3. union的用法

3.1. 去重(union)

3.2. 不去重(union all)

3.3. 聚合运算

3.4. 异常案例


        

1. union的概念

UNION 是结构化查询语言(SQL)中的一个操作符,用于合并多个SELECT语句的结果集。它的特点如下:

  • 合并结果集
  • 自动去重
  • 列对齐

UNION 与连接查询类似,比如:

  • 合并结果集
  • 多表查询

但它们也存在不同点,比如:

  • UNION 自动去除重复的行
  • 连接查询匹配数据后处理,并不会去重

        

2. union的语法

语法有2种方式:

  • union:去重
  • union all:不去重

基本语法如下:

SELECT 表1
union
SELECT 表2
union
SELECT 表3
...

union 就是直接将多条select连接起来后去重,如果将 union 换成 union all 则表示不去重。

注意:这里的去重是指将多个 SELECT 的查询结果集去重。 

        

3. union的用法

3.1. 去重(union)

假定 t1、t2 表存在一行相同的数据

执行 UNION 后自动去重

SELECT * FROM t1
UNION
SELECT * FROM t2;

        

3.2. 不去重(union all)

还是使用 3.1 的例子:假定 t1、t2 表存在一行相同的数据

执行 UNION ALL 不去重

SELECT * FROM t1
UNION ALL
SELECT * FROM t2;

        

3.3. 聚合运算

union 可以使用 select 中的全部方法,这里举一个例子:查询某张表1月份和2月份的总金额(使用聚合、where条件)

SELECT '一月份总金额', sum(amount) FROM t1 WHERE MONTH(date) = 1
UNION
SELECT '二月份总金额', sum(amount) FROM t1 WHERE MONTH(date) = 2;

        

3.4. 异常案例

非相同类型列无法使用

如果两个select的投影列类型不相同是无法查询的,需要指定类型相同列,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值