数据湖探索 DLI-JOINS:SEMI JOIN、ANTI JOIN
SEMI JOIN、ANTI JOIN
当一张表在另一张表找到匹配的记录之后,半连接(semi-join)返回第一张表中的记录。与条件连接相反,即使在右节点中找到几条匹配的记录,左节点的表也只会返回一条记录。另外,右节点的表一条记录也不会返回。半连接通常使用IN或EXISTS作为连接条件。
而anti-join则与semi-join相反,即当在第二张表没有发现匹配记录时,才会返回第一张表里的记录;当使用not exists/not in的时候会用到。
其他支持的条件包括如下内容:
- where子句中的多个条件
- 别名关系
- 下标表达式
- 解引用表达式
- 强制转换表达式
- 特定函数调用
目前,只在如下情况下支持多个semi/anti join表达式:第一个表中的列在其直接后续的join表达式中被查询,且不与其它join表达式有关系。
示例如下:
- GaussDB(for MySQL)并行查询_GaussDB(for MySQL)内核_GaussDB(for MySQL)并行执行_PQ
- GaussDB性能_Gaussdb数据库性能_高斯数据库性能-华为云
- GaussDB性能怎么调_华为gaussdb_gaussdb性能_gaussdb学习
- 什么是数据湖探索服务_数据湖探索DLI用途与特点
- GaussDB分析_GaussDB数据库分析_高斯数据库分析_华为云
- MapReduce服务_什么是HDFS_HDFS特性
- GaussDB如何建主键_数据库索引设计规范_高斯数据库如何建主键-华为云
- GaussDB索引_GaussDB数据库索引_高斯数据库索引_华为云
- GaussDB索引_华为数据库GaussDB_高斯数据库索引_华为云
- GaussDB数据库案例_GaussDB数据库的优势_华为高斯数据库_新建高斯数据库