暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss 集合操作

openGauss小助手 2021-10-24
312

集合操作,如表2-8所示。

表2-8 集合操作说明

名称描述
UNION并操作,将UNION关键两端的结果集做并集操作
EXCEPT差操作,从左侧的结果集中排除掉右侧的结果集
INTERSECT交集,对两个结果集取做交集操作

2-29对表t1、t2做UNION操作,如图2-11。

图2-11 UNION示意图

具体语句如下:

SELECT * FROM t1 UNION SELECT * FROM t2;

c1 | c2

----+----

| 2

1 | 2

2 | 2

1 | 1

1 |

(5 rows)

2-30对表t1、t2做EXCEPT操作,如图2-12所示。

图2-12 EXCEPT示意图

具体语句如下:

SELECT * FROM t1 EXCEPT SELECT * FROM t2;

c1 | c2

----+----

2 | 2

1 |

(2 rows)

2-31对表t1、t2做INTERSECT操作,如图2-13所示。

图2-13 INTERSECT示意图

具体语句如下:

SELECT * FROM t1 INTERSECT SELECT * FROM t2;

c1 | c2

----+----

1 | 2

(1 row)

从示例的结果可以看出,结果集中还做了去重的操作,也就是说UNION、EXCEPT、INTERSECT中还隐式的隐含DISTINCT操作,如果显式的指定上DISTINCT关键字,它们将获得相同的结果。

2-32对表t1、t2做UNION DISTINCT操作,如图2-14所示。

图2-14 UNION DISTINCT示意图

具体语句如下:

SELECT * FROM t1 UNION DISTINCT SELECT * FROM t2;

c1 | c2

----+----

| 2

1 | 2

2 | 2

1 | 1

1 |

(5 rows)

如果不需要进行去重,可以通过指定ALL关键字实现。

2-33对表t1、t2做UNION ALL操作,如图2-15所示。

图2-15 UNION ALL示意图

具体语句如下:

SELECT * FROM t1 UNION ALL SELECT * FROM t2;

c1 | c2

----+----

1 | 2

1 |

2 | 2

1 | 2

1 | 1

| 2

(6 rows)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论