GBase 8s UNION 操作符合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

语法
UNION 基础语法如下:

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]UNIONSELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

这里的条件语句可以根据您的需要设置任何表达式。

实例
创建 COMPANY 表 ,数据内容如下:

DROP TABLE IF EXISTS COMPANY;
CREATE TABLE COMPANY(ID         SERIAL         PRIMARY KEY,NAME       VARCHAR(40)    NOT NULL,AGE        INT            NOT NULL,ADDRESS    CHAR(50),SALARY     DECIMAL(10,2),JOIN_DATE  DATE           DEFAULT TODAY
);
INSERT INTO COMPANY VALUES (0, '李雷', 37, '北京', 20000.00,'2005-05-13');
INSERT INTO COMPANY VALUES (0, '韩梅梅', 35, '天津', 16000.00, '2007-12-18');
INSERT INTO COMPANY VALUES (0, '林涛', 36, '上海', 25000.00, '2006-01-04');
INSERT INTO COMPANY VALUES (0, '魏华', 36, '西安', 15000.00, '2007-08-30');
INSERT INTO COMPANY VALUES (0, '露茜', 34, '伦敦', 22000.00, '2008-08-08');
INSERT INTO COMPANY VALUES (0, '莉莉', 34, '伦敦', 22000.00, '2008-08-08');
INSERT INTO COMPANY VALUES (0, '吉姆', 35, '华盛顿', 16000.00, '2010-12-13');
INSERT INTO COMPANY VALUES (0, '汤姆', 36, '渥太华', 21000.00, '2010-04-30');

此时,COMPANY的表记录为:

id name age address salary join_date
1 李雷 37 北京 20000.00 2005-05-13
2 韩梅梅 35 天津 16000.00 2007-12-18
3 林涛 36 上海 25000.00 2006-01-04
4 魏华 36 西安 15000.00 2007-08-30
5 露茜 34 伦敦 22000.00 2008-08-08
6 莉莉 34 伦敦 22000.00 2008-08-08
7 吉姆 35 华盛顿 16000.00 2010-12-13
8 汤姆 36 渥太华 21000.00 2010-04-30

现在,使用 UNION 子句将两个SELECT连接起来,如下所示:

SELECT ID,NAME,ADDRESS FROM COMPANY WHERE ID < 4UNIONSELECT ID,NAME,ADDRESS FROM COMPANY WHERE ID > 2 AND ID < 5;

得到的结果如下:

id name address
1 李雷 北京
2 韩梅梅 天津
3 林涛 上海
4 魏华 西安

UNION ALL 子句

UNION ALL 操作符可以连接两个有重复行的 SELECT 语句,默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

语法
UINON ALL 子句基础语法如下:

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]UNION ALLSELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

这里的条件语句可以根据您的需要设置任何表达式。

实例
现在,让我们把上面提到的语句结合 UNION ALL 子句连接起来:

SELECT ID,NAME,ADDRESS FROM COMPANY WHERE ID < 4UNION ALLSELECT ID,NAME,ADDRESS FROM COMPANY WHERE ID > 2 AND ID < 5;

得到结果如下(ID=3结果重复):

id name address
1 李雷 北京
2 韩梅梅 天津
3 林涛 上海
3 林涛 上海
4 魏华 西安

[GBase 8s 教程]GBase 8s UNION 操作符相关推荐

  1. [GBase 8s 教程]GBase 8s NULL值处理

    NULL 值代表遗漏的未知数据.使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据, 但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. NULL 值与任何其它 ...

  2. [GBase 8s 教程]GBase 8s 运算符/函数

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号. GBase 8s 运算符是一个保留关键字或字符,一般用在 WHERE 语句中,作为过滤条件. 常见的运算符/函数有: 算术运算符/函数 比较运算 ...

  3. [GBase 8s 教程]GBase 8s ALTER TABLE 命令

    在 GBase 8s 中,ALTER TABLE 命令用于添加,修改,删除一张已经存在表的列. 另外你也可以用 ALTER TABLE 命令添加和删除约束. 语法 用 ALTER TABLE 在一张已 ...

  4. [GBase 8s 教程]GBase 8s 分页语法

    GBase 8s 中支持使用SKIP m FIRST/LIMIT n 选项,或者使用TOP m,n 选项来限制SELECT语句中查询的数据的数量. 注:两者不可同时使用. 语法 带有SKIP m FI ...

  5. [GBase 8s 教程]GBase 8s 自动增长(AUTO INCREMENT)

    AUTO INCREMENT(自动增长) 会在新记录插入表中时生成一个唯一的数字. GBase 8s 使用序列来标识字段的自增长,数据类型有 serial.serial8 和 bigserial . ...

  6. [GBase 8s 教程]GBase 8s 创建表格

    GBase 8s 使用 CREATE TABLE 语句来创建数据库表格. 语法 CREATE TABLE 语法格式如下: CREATE TABLE [ IF NOT EXISTS ] table_na ...

  7. [GBase 8s 教程]GBase 8s 事务(TRANSACTION)

    TRANSACTION(事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成. 数据库事务通常包含了一个序列的对数据库的读/写操作.包含有以下两个目的: 为数据库操作序列提供 ...

  8. 《零基础》MySQL UNION 操作符(十七)

    描述 MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多个 SELECT 语句会删除重复的数据. 语法 MySQL UNION 操作符语法格式: SEL ...

  9. MySQL(18)--- UNION 操作符

    MySQL UNION 操作符 本教程为大家介绍 MySQL UNION 操作符的语法和实例. 描述 MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多 ...

最新文章

  1. 数据结构 -- 图与图存储
  2. linux shell Bad substitution
  3. Leecode 869. 重新排序得到 2 的幂——Leecode每日一题系列
  4. Spring WebSocket初探2 (Spring WebSocket入门教程)
  5. 使用计算机绘制景物图像的两个主要步骤是,计算机11考试.doc
  6. python day10
  7. 忆往昔,惜光阴似箭,不堪回首
  8. 即插即用 | 超越CBAM,全新注意力机制,GAM不计成本提高精度(附Pytorch实现)...
  9. tkinter python(图形开发界面) 转自:渔单渠
  10. Servlet线程安全问题
  11. 《一页纸项目管理》读书笔记
  12. 国家气象数据中心网站
  13. 盘点那些有趣的AR应用
  14. matlab自带的mri数据集,探查三维 MRI 数据集的切片
  15. 文件监控(二) 代码
  16. Python中print换行问题
  17. 量子计算与量子信息之量子计算概述
  18. 医疗:疫情下的人类高质量数据共享场景 | 2021隐私计算半年纪
  19. C++贪心——纪念品分组
  20. tomcat的宏观架构

热门文章

  1. 鸽巢原理(初识)(纯算法)
  2. 1~n中与n互质数的个数(欧拉函数)
  3. php读取文件使用redis的pipeline导入大批量数据
  4. 阿里云 CDN 业务基于边缘容器的云原生转型实践
  5. C语言函数:错误信息打印函数,strerror()与perror()
  6. Day 07 类、魔方方法
  7. 微信支付 普通商户版 服务商版 银行服务商版 区别
  8. 用于电子书的RSS——OPDS
  9. 用java实现邮件发送
  10. ffmpeg文档中文翻译