This document describes the structure and execution of Hash-Semi-Join, implemented as hashSemiJoin function. Its implementation is based on Hash-Join-MPU.
Hash-Semi-Join returns rows from the outer table where a field of outer table matches with the one of inner table. Even if a record of outer table matches with many rows in inner table, the one of outer table is output only once.
- Hash-Semi-Join is written using the EXISTS or IN constructs. For example:
- select * from S where S.key in ( select key from T )