集合操作符¶
集合运算符将两个查询结果组合成单个结果,神通数据库中支持的集合操作符如下表:
表37神通数据库支持的集合操作符
| 操作符 | 结果 |
|---|---|
| UNION | 查询结果求并集,去掉重复的行 |
| UNION ALL | 查询结果求并集,保留重复的行 |
| INTERSECT | 查询结果求交集,去掉重复的行 |
| INTERSECT ALL | 查询结果求交集,保留重复的行 |
| EXCEPT/MINUS | 查询结果求差集,去掉重复的行 |
| EXCEPT/MINUS ALL | 查询结果求差集,保留重复的行 |
上述的几个操作用法基本相同,以INTERSECT操作为列说明其用法:
SELECT * FROM employee WHERE grade > 10
INTERSECT
SELECT * FROM employee WHERE empname <> 'Alice';
所有的集合运算符有相同的优先级。如果SQL语句包含多个集合运算符,在没有用括号指定次序时,按从左至右计算。如果由集合运算符所组合的两查询选择是字符数据,返回值的数据类型按以下说明:
如果两个查询选择的值均为CHAR类型,则返回值为CHAR类型。
如果查询中有一个选择的值为VARCHAR类型,则返回值为VARCHAR类型。