下图举例说明了 UNION 集合运算。
图: 联合集合运算
UNION 关键字选择两个查询中的所有行,除去重复行并返回余下的行。因为查询的结果组
合为一个结果,所以每个查询中的投影列表必须具有相同的列数。同时,从每个表选择的
相应列必须包含兼容的数据类型(CHARACTER 数据类型列的长度必须相同),并且这些
相应的列必须全部允许或全部不允许 NULL 值。
有关 SELECT 语句和 UNION 运算符的完整语法,请参阅《GBase 8s SQL 指南:语法》。
有关特定于 GBase 8s ESQL/C 产品和涉及 INTO 子句和复合查询的任何限制的信息,请参
阅《GBase 8s ESQL/C 程序员手册》。
下列查询对 stock 和 items 表中的 stock_num 和 manu_code 列执行联合。
图: 查询
SELECT DISTINCT stock_num, manu_code FROM stock
WHERE unit_price < 25.00
UNION
SELECT stock_num, manu_code FROM items
WHERE quantity > 3;
该查询选择单价小于 $25.00 或预订数量大于三的那些商品并列出
其 stock_num 和 manu_code,如下所示。
图: 查询结果
stock_num manu_code
5 ANZ
5 NRG
5 SMT
9 ANZ
103 PRC
106 PRC
201 NKL
301 KAR
302 HRO
302 KAR