个人笔记:几个高级查询运算词:UNION,EXCEPT,INTERSECT原创
金蝶云社区-昙星
昙星
104人赞赏了该文章 597次浏览 未经作者许可,禁止转载编辑于2024年03月11日 17:25:49

1、UNION 运算符
UNION 运算符通过合并其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。ALL  随 UNION 一起使用时(即 UNION  ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。  

例如,合并users和users1这两张表中的“name”这两列并消去表中任何重复行,派生出一个两列合并成一列的结果表:

SELECT name FROM users

UNION

SELECT name FROM users1

注:合并的列数据类型必须是一致的!


2、EXCEPT 运算符 
EXCEPT 运算符通过包括所有在 TABLE1  中但不在TABLE2 中的行并消除所有重复行而派生出一个结果表。相当于集合中的补集。ALL 随 EXCEPT 一起使用时  (EXCEPT ALL),不消除重复行。

例如,筛选出在users这张表中的“name”这一列但不在users1这张表中的“name”这一列并消去表中任何重复行,派生出一个两列合并成一列的结果表:

SELECT name FROM users

EXCEPT

SELECT name FROM users1

注:筛选的列数据类型必须是一致的!



3、INTERSECT 运算符
INTERSECT 运算符通过只包括  TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。相当于集合中的交集“且”。当  ALL 随  INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 

例如,筛选出在users这张表中的“name”这一列但不在users1这张表中的“name”这一列并消去表中任何重复行,派生出一个两列合并成一列的结果表:

SELECT name FROM users

INTERSECT

SELECT name FROM users1

注:筛选的列数据类型必须是一致的!


注:使用运算词的几个查询结果行必须是一致的。

赞 104