PostgreSQL INTERSECT17 Mar 2025 | 5 分钟阅读 在本节中,我们将了解 PostgreSQL Intersect 运算符的工作原理,该运算符用于合并多个命令的输出。 以及 PostgreSQL intersect 运算符的 示例,包括 单个,多个 表达式和 Order by 子句。 什么是 PostgreSQL Intersect 运算符?在 PostgreSQL 中, INTERSECT 运算符检索两个输出中都存在的任何行,就像 UNION 和 Except 运算符一样。 换句话说,我们可以说 PostgreSQL intersect 运算符获取多个数据集的交集。 如果记录存在于两个数据集中,它将参与 INTERSECT 结果,并且每个数据集都由一个 SELECT 命令定义。 但是,如果记录仅存在于一个数据集中,而不存在于另一个数据集中,则它将从 INTERSECT 结果中消失。 下图表示由 INTERSECT 运算符产生的最终输出。 ![]() 在上图中,蓝色区域显示了圆 P 和圆 Q 之间的交集。 INTERSECT 中的每个 SELECT 命令必须具有相似数量的具有相似数据类型的输出字段。 PostgreSQL Intersect 运算符的语法PostgreSQL Intersect 运算符的示例如下 在上面的语法中,我们有以下参数,我们将在下表中讨论
注意:要使用 INTERSECT 运算符,出现在 SELECT 命令中的列必须遵循以下规则
PostgreSQL INTERSECT 运算符的示例为了理解 PostgreSQL intersect 运算符的工作原理,我们将采用在 PostgreSQL UNION 教程中创建的 top_rated_cars 和 most_reliable_cars 表 要查看来自 top_rated_cars 表的数据,我们将使用 SELECT 命令,如下面的命令所示 输出 执行上述命令后,我们将获得以下结果 ![]() 以下命令返回来自 most_reliable_cars 表的数据 输出 在实现上述命令后,我们将获得以下输出 ![]()
在下面的示例中,我们将使用一个 INTERSECT 运算符,它包含一个具有相似数据类型的字段 输出 执行上述命令后,我们将获得以下输出 ![]() 注意:在上面的示例中,如果 Car_name 同时出现在 top_rated_cars 和 most_reliable_cars 表中,它将出现在我们的输出中。现在,如果我们要将 WHERE 子句添加到上面示例中的 INTERSECT 命令,它将是这样的 输出 在实现上述命令后,我们将获得以下输出,该输出显示了在使用 where 条件后检索到的那些相交值。 ![]() 注意:在上面的示例中,WHERE 子句已添加到所有数据集。
具有各种表达式的 PostgreSQL Intersect 示例我们现在将看到一个示例,以了解 PostgreSQL INTERSECT 运算符如何使用多个列。 在下面的示例中,我们将使用 PostgreSQL 中的 INTERSECT 运算符来检索各种列。 为此,我们将从 Organization 数据库中获取 employee 和 department 表,该数据库是在 PostgreSQL 教程的早期部分中创建的。 输出 执行上述命令后,我们将获得以下输出,该输出显示了 employee 表中 address 和 phone 值与 department 表的 address 和 phone 值匹配的记录。 ![]() 在上面的示例中,每个数据集上的 WHERE 条件都添加了过滤器输出;因此,仅返回 employee 表中 employee_name 不是 ross 的记录。 并且检索 department 表中 address 不是 London 的记录。
如果我们要对 INTERSECT 运算符的输出进行排序,我们将 ORDER BY 放置在查询列表的最后一个命令中。 PostgreSQL Intersect 与 ORDER BY 子句的语法 下面的示例用于表示带有 order by 子句的 PostgreSQL intersect PostgreSQL intersects 与 Order by 子句的示例在下面的示例中,我们使用与 employee 和 department 类似的表来了解带有 ORDER BY 子句的 INTERSECT 运算符的用法 输出 执行上述命令后,我们将获得以下结果集,该结果集显示了按 Address 以升序排序的结果,由 ORDER BY 1 表示。 并且 address 列字段位于输出中的#1的位置。 ![]() 概述在 PostgreSQL Intersect 部分中,我们学习了以下主题
下一个主题PostgreSQL Except |
我们请求您订阅我们的新闻通讯以获取最新更新。