GBase 8a UNION用法

UNION 用来将多个 SELECT 语句的结果合并到一个结果集中。 在每个 SELECT 语句对应位置上的选择列,应该有相同的类型。(例如,第一个语句选出的第一列应该与其它语句选出的第一列的类型相同)。第一个 SELECT 语句中用到的列名称被作为返回结果的列名称。 SELECT 语句是一般的查询语句,但是有以下约束:

  • 不同的数据类型,不能使用 UNION 和 UNION ALL,例如:数值型、字符型、日期和时间型之间不能使用 UNION 和 UNION ALL,但是 DATETIME 和TIMESTAMP 类型可以使用 UNION 和 UNION ALL,其它的日期和时间类型则不行。
  • 如果 UNION 和 UNION ALL 两边的数据类型为 CHAR 类型,进行 UNION和 UNION ALL 操作时,结果返回 VARCHAR 类型。
    例如: SELECT CHAR(10) UNION SELECT CHAR(255) 的 结 果 集 为VARCHAR(255)。
  • UNION 和 UNION ALL 结果由小的数据类型向大的数据类型转换,如:INT ->BIGINT -> DECIMAL -> DOUBLE。
    例如:SELECT INT UNION SELECT DOUBLE 的结果集为 DOUBLE 型。
  • NULL 可以和任何类型做 UNION 和 UNION ALL。
    例如:SELECT NULL UNION SELECT 1;
  • 如果只是使用 UNION,那么将返回无重复记录的结果集,此时,UNION 等同于 UNION DISTINCT。如果使用 UNION ALL,将会返回所有 SELECT 后的结果集,这个结果集会存在重复的记录。
  • 如果在多个 SELECT 的 UNION 查询中,同时存在 UNION [DISTINCT]和UNION ALL,那么 UNION ALL 会被忽略,最终返回 UNION [DISTINCT]后的结果集(过滤掉重复的记录行)。
  • 如果希望使用 ORDER BY 或 LIMIT 子句来分类或限制整个 UNION 结果,可以给单独的 SELECT 语句加上括号或者把ORDER BY 或 LIMIT 置于最后。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值